_AFXDLL

经常发现有#ifdef _AFXDLL.......#else......这样的语句我也在网上找了找答案,得知:定义这个符号表示动态连接MFC。
在用VC编程时,1新建-》2MFC APPWIZARD-》3....-》4...-》到 STEP 3 OF 4这一步有个选项 1 D当共享DLL
     2 S当STATICALLY连接库
我选“1 D当共享DLL”再“确定”,这时,框架生成的原文件中就定义了“_AFXDLL”,然后是一些包含头文件,其中就包含了#def _AFXDLL.......#else......所在的文件,然后是当前的视图,文档,等代码
   当编译时因为定义了_AFXDLL,所以就编译#ifdef _AFXDLL中的内容
   在制作DLL时也有

1“动态连接库和MFC STATICALLY 连接”
2“动态连接库使用MFC共享”


也就是说如果原文件定义了_AFXDLL,说明原文件中有某些类,函数等,是以MFC DLL的形式提供的(也就是动态连接到MFC),如果原文件中没定义_AFXDLL,则这些类,函数等的实现代码是被直接插入原文件(也就是静态连接到MFC)。

指MFC的动态库是否静态链接,或动态链接(有_AFXDLL),也就是说
你编译的程序中,当运行时,mfc42.dll等是否需要支持,如果静态链接,
这些就不需要了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值