深入浅出MFC第2版(PDF格式)-第53部分
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
223
…………………………………………………………Page 286……………………………………………………………
第篇 欲善工事先利其器
rem file : envir。bat
cls
type c:utilityenvir。txt
其中envir。txt 的内容是:
(1) CWin95 & Visual C++ 1。5
(2) CWin95 & Visual C++ 2。0
(3) CWin95 & Visual C++ 4。0
(4) DDK
(5) CWin95 & Visual C++ 5。0
每当欲使用不同的工具环境,就执行envir。bat ,然后再选择一个号码。举个例,3。BAT
的内容是:
rem 3。bat
rem Win95 & Visual C++ 4。0
@echo off
set TOOLROOTDIR=E:MSDEV
rem
set PATH=E:MSDEVBIN;D:WIN95;D:WIN95MAND
set INCLUDE=E:MSDEVINCLUDE;E:MSDEVMFCINCLUDE
set LIB=E:MSDEVLIB;E:MSDEVMFCLIB
set MSDevDir=E:MSDEV
set
5。 BAT 的内容是:
rem e:devstudiovcbinvcvars32。bat
@echo off
rem
rem e:devstu~1 == e:devstudio
set PATH=E:DEVSTU~1VCBIN;E:DEVSTU~1SHARED~1BIN;D:WIN95;D:WIN95MAND
set INCLUDE=E:DEVSTU~1VCINCLUDE;E:DEVSTU~1VCMFCINCLUDE;E:DEVSTU~1VCATLINCLUDE
set LIB=E:DEVSTU~1VCLIB;E:DEVSTU~1VCMFCLIB
set
其中大家比较陌生的可能是VCATLINCLUDE 这个设定。ATL 全名是ActiveX
Template Library ,用以协助我们开发ActiveX 控制组件。关于ActiveX 控制组件的开发
设计,可参考ActiveX Control Inside Out (Adam Denning/Microsoft Press )一书(ActiveX
控制元件徹底研究控制元件徹底研究 / 侯俊杰译/ 松岗出版)。至于ActiveX controls 的应用,可参考本
书第16 章。
224
…………………………………………………………Page 287……………………………………………………………
第4章 Visual C++ 整合開發環境
上述那些那些环境变量的设定, 其实VC++ 早已为我们准备好了, 就放在
DEVSTUDIOVCBINVCVARS32。BAT 中,只不过形式比较复杂一些。
如果你也喜欢(或有必要)保留多套开发环境于硬盘中,请注意出现在DOS 提示号下
的编译器和联结器版本号码,以确定你叫用的的确是你所要的工具。图4…2 是Microsoft
软件开发工具的版本号码。
VC++ 编译器 联结器 NMAKE RC。EXE MFC
Microsoft C/C++ 7。0 7。00 S5。30 1。20 3。10 1。0
Visual C++ 1。0 8。00 S5。50 1。30 3。11 2。0
Visual C++ 1。5x 8。00c S5。60 1。40 3。11 2。5
Visual C++ 2。0 9。00 I2。50 1。50 3。50 3。0
Visual C++ 4。0 10。00 I3。00 1。60 4。00 4。0
Visual C++ 4。2 10。20 I4。20 1。61 4。00 4。2
Visual C++ 5。0 11。00 I5。00 1。62 5。00 4。21
* 联结器S: Segmented Executable Linker
I: Incremental Linker
图4…2 Microsoft 编译器平台的演化
Visual C++ 提供三种版本:学习版,专业版和企业版。三者都提供C/C++ 编译器、MFC 、
以及整合开发环境,可以协助建立并除错各类型应用软件:
MFC…based EXE
MFC…based DLL
( )
Win32 Application EXE
( )
Win32 Dynamic Link Library DLL
Win32 Console Applications
MFC ActiveX Controls
225
…………………………………………………………Page 288……………………………………………………………
第篇 欲善工事先利其器
( )
ATL ActiveX Template Library ponent Object Model
( )
ISAPI Internet Server API Extension Application
Win32 Static Library
图4…3 是VC++ 5。0 专业版安装完成后的程序群组,打开Win95 的【开始/程序集】便
可看到。
图4…3 VC++ 5。0 专业版安装完成后的程序群组 (group)
VC++ 5。0 安装完成后重要的文件分布如下。可能有些在你的硬盘,有些在光盘片上,因
不同的安装方式而异:
226
…………………………………………………………Page 289……………………………………………………………
第4章 Visual C++ 整合開發環境
MSDEV
BIN 各种EXE、BAT、DLL。
DEBUG 除错版本(各种DLLs)。
HELP 各种Help 文件。
CRT
ATL ActiveX Template Library 函数库的源代码。
INCLUDE ATL 的包含档(头文件)
SRC ATL 的源代码
REDIST 这是可以自由(免费)传播的文件,包括你的应用程序售出后,
执行时期所需的任何DLLs,如MFC42。DLL、ODBC DLLs、
DAO DLLs。还包括微软公司附赠的一些OCXs。
SAMPLES 丰富的范例程序(请看附录C)
APPWIZ
ATL
ENT
MFC
SDK
INCLUDE 各种 。H 文件。包括C/C++ 函数头文件、WINDOWS。H 等等。
LIB 各种 。LIB。包括C/C++ runtime、Windows DLLs import
函数库。
MFC
INCLUDE 以AFX 开头的 。H 文件(MFC 的头文件)。
LIB MFC 的静态函数库(static library)。
SRC MFC 的源代码(。CPP 档)。
手册呢?C/C++ 加上SDK 再加上MFC 共二十来本厚薄不一的手册不可能塞到宽仅
五公分的VC++ 5。0 包装盒中。所有的手册都已电子化到那片CD…ROM 去了。像我这
种看书一定得拿支笔的人,没什么比这更悲哀的事。不是没有补救办法,再花个数千元
就可得到VC++ 印刷手册,另一个数千元可再得到SDK 印刷手册。
227
…………………………………………………………Page 290……………………………………………………………
第篇 欲善工事先利其器
MFC Tech Notes
VC++ 5。0 的Online Help 中有一些好东西:为数69 篇的宝贵技术文件。以下是一份列表。
文件1 至17 是一般性主题,适用于MFC 1。0 和2。0 ;文件18 和19 专注在如何将MFC 1。0
程序移植到MFC 2。0 ;文件20 至36 适用于MFC 2。0 (或更高版本) ;文件37 适用于32
位版MFC ;文件38 至48 适用于MFC 2。5 (或更高版本);文件49 至52 适用于MFC
3。0 (或更高版本);文件53 至69 适用于MFC 4。0 (或更高版本)。某些号码跳掉是因
为MFC 1。0 的老东西不值得再提。
1。 Window Class Registration
2。 Persistent Object Data Format
3。 Mapping of Windows Handles to Objects
4。 C++ Template Tool
6。 Message Maps
7。 Debugging Trace Options
8。 MFC OLE Support
11。 Using MFC as Part of a DLL
12。 Using Windows 3。1 Robustness Features
228
…………………………………………………………Page 291……………………………………………………………
第4章 Visual C++ 整合開發環境
14。 Custom Controls
15。 Windows for Pen
16。 Using C++ Multiple Inheritance with MFC
17。 Destroying Window Objects
18。 Migrating OLE Applications From MFC 1。0 to MFC 2。0
19。 Migrating MFC 1。0 Applications to MFC 2。0
20。 ID Naming and Numbering Conventions
21。 mand and Message Routing
22。 Standard mands Implementation
23。 Standard MFC Resources
24。 MFC…Defined Messages and Resources
25。 Document; View; and Frame Creation
26。 DDX and DDV Routines
27。 Emulation Support for Visual Basic Custom Controls
28。 Context…Sensitive Help Support
29。 Splitter Windows
30。 Print Preview
31。 Control Bars
32。 MFC Exception Mechanism
33。 DLL Version of MFC
34。 Writing a Windows 3。0 patible MFC Application
35。 Using Multiple Resource Files and Header Files with App Studio
36。 Using CFormView with AppWizard and ClassWizard
37。 (
Multithreaded MFC 2。1 Applications 32…bit specific)
38。 MFC/OLE IUnknown Implementation
39。 MFC/OLE Automation Implementation
40。 MFC/OLE In…Place Resizing and Zooming
41。 MFC/OLE1 Migration to MFC/OLE2
42。 ODBC Driver Developer Reendations
43。 RFX Routines
44。 MFC support for DBCS
45。 MFC/Database support for Long Varchar/Varbinary
46。 menting Conventions for the MFC classes
229
…………………………………………………………Page 292……………………………………………………………
第篇 欲善工事先利其器
47。 Relaxing Database Transaction Requirements
48。 Writing ODBC Setup and Administration Programs for MFC Database
Applications
49。 MFC/OLE MBCS to Unicode Translation Layer (MFCANS32)
50。 MFC/OLE mon Dialogs (