现在的位置: 首页 > 综合 > 正文

Microsoft Visual C++ 6.0 各类工程配置说明(一)

2013年08月07日 ⁄ 综合 ⁄ 共 4241字 ⁄ 字号 评论关闭

1.   



基于

对话

框(

/



文档

/

多文档)的

MFC

程序

#include <afxdtctl.h>     // MFC support for Internet Explorer 4 Common

#include <afxwin.h>      // MFC core and standard components

#include <afxext.h>      // MFC extensions

#include <afxdisp.h>     // MFC Automation classes

#define VC_EXTRALEAN     // Exclude rarely-used stuff from Windows headers

stdafx.h
预编译头
文件

afxext.h
声明MFC
一些




CBitmapButton
CControlBar
CSplitterWnd
等)

afxdisp.h
中声明了Ole
的几个


COleException
COleVariant
等)

afxwin.h
声明MFC
封装的一些很基本的


CWnd
CView
CButton
CDC
等)afxdtctl.h
声明几个控件


CImageList
CMonthCalCtrl
CDateTimeCtrl
等)Controls

afxcmn.h
声明MFC
一些控件(CListCtrl
CProgressCtrl
CToolTipCtrl
等)

#include <afxcmn.h>     // MFC support for Windows Common Controls

#ifndef _AFX_NO_AFXCMN_SUPPORT
#endif // _AFX_NO_AFXCMN_SUPPORT

(1.1)Use MFC in a Shared DLL


Debug

版本:






WIN32,_DEBUG,_WINDOWS,_AFXDLL,_MBCS


编译
参数:/nologo
/MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D
"_AFXDLL" /D "_MBCS" /FR"Debug/" /Fp"Debug/ExeDlg.pch" /Yu"stdafx.h"
/Fo"Debug/" /Fd"Debug/" /FD /GZ      /c



接参数:/nologo /subsystem:windows /incremental:yes /pdb:"Debug/ExeDlg.pdb" /debug /machine:I386 /out:"Debug/ExeDlg.exe" /pdbtype:sept
Release

版本:






:与Debug
版本相比,将_DEBUG


成了NDEBUG


编译
参数:/nologo
/MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_AFXDLL" /D
"_MBCS" /Fp"Release/ExeDlg.pch" /Yu"stdafx.h" /Fo"Release/"
/Fd"Release/" /FD /c



接参数:/nologo /subsystem:windows /incremental:no /pdb:"Release/ExeDlg.pdb" /machine:I386 /out:"Release/ExeDlg.exe"
(1.2)Use MFC in a Static Library

Debug

版本:





:与(1.1)
相比,少了_AFXDLL


编译
参数:将/MDd
(使用Run-time library: Debug Multithreaded DLL


成了/MTd
(使用Run-time library: Debug Multithreaded




接参数:与(1.1)
相同
Release

版本:


编译
参数/MD
(使用Run-time library: Multithreaded DLL


成了MT
(使用Run-time library: Multithreaded

***



注:以上
编译
/

接参数含

如下(更多的,

参考Msdn
):
/nologo

:抑制信息在

编译
或者



Output Window


出;      /MD
:运行

时库
使用MSVCRT.DLL
      /W3

编译时显


Warning

级别为
3
      /Gm
Enable Minimal Rebuild
,一


减少重
编译

选项
     /GX
Enable Exception Handling
        /ZI


Debug
信息保存的数据


文件.PDB
中;       /Od
Disable

码优
化;        /FR
:生成.SBR
文件,包含有符号信息;          /Fp
:命名生成的

预编译头
文件;        /Yu
:指定

预编译头
文件。
2.MFC DLL








预编译头
文件stdafx.h

#define VC_EXTRALEAN       // Exclude rarely-used stuff from Windows headers
#include <afxwin.h>            // MFC core and standard components
#include <afxext.h>            // MFC extensions
#ifndef _AFX_NO_OLE_SUPPORT
#include <afxole.h>            // MFC OLE classes
#include <afxodlgs.h>          // MFC OLE dialog classes
#include <afxdisp.h>           // MFC Automation classes
#endif // _AFX_NO_OLE_SUPPORT
#ifndef _AFX_NO_DB_SUPPORT
#include <afxdb.h>               // MFC ODBC database classes
#endif // _AFX_NO_DB_SUPPORT
#ifndef _AFX_NO_DAO_SUPPORT
#include <afxdao.h>             // MFC DAO database classes
#endif // _AFX_NO_DAO_SUPPORT
#include <afxdtctl.h>           // MFC support for Internet Explorer 4 Common Controls

#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h>           // MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT

增加了两个OLE


文件和两个数据



文件
(2.1) Use MFC in a Shared DLL

Debug

版本:





WIN32,_DEBUG,_WINDOWS,_WINDLL,_AFXDLL,_MBCS,_USRDLL
,与MFC Exe
程序相比,增加了_WINDLL
_USRDLL


编译
参数:与MFC Exe
没有太大区





接参数:/nologo
/subsystem:windows /dll /incremental:yes /pdb:"Debug/MFCDll.pdb" /debug
/machine:I386 /def:"./MFCDll.def" /out:"Debug/MFCDll.dll"
/implib:"Debug/MFCDll.lib" /pdbtype:sept

MFC Exe
相比,增加了/dll


,以及/def:"./MFCDll.def"
/implib:"Debug/MFCDll.lib"

注意:其中
MFCDll

测试


目名字,非


DLL
名字。从

目的文件上看,



目比
MFC Exe


生一个
.def
的文件用于定
义导
出函数。
Release
版本与Debug
版本的区

别类


1
中的比


(上了_AFXDLL


)。
(2.2) Use MFC in a Static DLL


(2.1)
的区


,主要在使用的Run-time library


型上,与

1
中的比



3.MFC Extension DLL








预编译头
文件stdafx.h
内容与


2
相同。
(3.1) Use MFC in a Shared DLL

Debug

版本:





WIN32,_DEBUG,_WINDOWS,_MBCS,_AFXEXT,_WINDLL,_AFXDLL
,与


2
相比,将_USRDLL


成了_AFXEXT



编译
参数:与上述

目没有太大区




接参数:与
MFC DLL

目相似

Release

版本与
Debug
版本的区
别类



1
中的比

(上了
_AFXDLL


)。


(3.2) Use MFC in a Static DLL



似以上

目的比


(

注:以下


目均以Debug
版本


述。)
4.Win32 DLL








预编译头
文件stdafx.h:
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers                  
#include <windows.h>


现项
目入口函数DllMain

实现

(4.1) Not Using MFC






WIN32,_DEBUG,_WINDOWS,_MBCS,_USRDLL,WIN32DLLDEMO_EXPORTS
,与


2(MFC DLL)
相比,少了_WINDLL,_AFXDLL
,而


保留了_USRDLL
。另外,WIN32DLLDEMO_EXPORTS
自定




出宏。


编译
参数:没有太大区





接参数:kernel32.lib
user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib
ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll
/incremental:yes /pdb:"Debug/Win32DllDemo.pdb" /debug /machine:I386
/out:"Debug/Win32DllDemo.dll" /implib:"Debug/Win32DllDemo.lib"
/pdbtype:sept

MFC DLL


目相比,多了很多



接,少了/subsystem:windows
的定


抱歉!评论已关闭.