当前位置:首页 » 编程软件 » 如何编译mfc文件

如何编译mfc文件

发布时间: 2023-11-20 05:58:10

① 什么是预编译 何时需要预编译 mfc面试

预编译又称为预处理,是做些代码文本的替换工作

预编译又称为预处理,是做些代码文本的替换工作

处理#开头的指令,比如拷贝#include包含的文件代码,#define宏定义的替换,条件编译等

就是为编译做的预备工作的阶段

主要处理#开始的预编译指令

预编译指令指示了在程序正式编译前就由编译器进行的操作,可以放在程序中的任何位置。常见的预编译指令有:

(1)#include 指令

该指令指示编译器将xxx.xxx文件的全部内容插入此处。若用<>括起文件则在系统的INCLUDE目录中寻找文件,若用" "括起文件则在当前目录中寻找文件。一般来说,该文件是后缀名为"h"或"cpp"的头文件。

注意:<>不会在当前目录下搜索头文件,如果我们不用<>而用""把头文件名扩起,其意义为在先在当前目录下搜索头文件,再在系统默认目录下搜索。

(2)#define指令

该指令有三种用法:

第一种是定义标识,标识有效范围为整个程序,形如#define XXX,常与#if配合使用;

第二种是定义常数,如#define max 100,则max代表100(这种情况下使用const定义常数更好,原因见注1);

第三种是定义"函数",如#define get_max(a, b) ((a)>(b)?(a):(b)) 则以后使用get_max(x,y)就可以得到x和y中较大的数(这种方法存在一些弊病,见注2)。

第四种是定义"宏函数",如#define GEN_FUN(type) type max_##type(type a,type b){return a>b?a:b;} ,使用时,用GEN_FUN(int),则此处预编译后就变成了 max_int(int a,int b){return a>b?a:b;},以后就可以使用max_int(x,y)就可以得到x和y中较大的数.比第三种,增加了类型的说明。

(3)#if、#else和#endif指令

这些指令一般这样配合使用:

#if defined(标识) //如果定义了标识

要执行的指令

#else

要执行的指令

#endif

在头文件中为了避免重复调用(比如说两个头文件互相包含对方),常采用这样的结构:

#if !(defined XXX) //XXX为一个在你的程序中唯一的标识符,

//每个头文件的标识符都不应相同。

//起标识符的常见方法是若头文件名为"abc.h"

//则标识为"abc_h"

#define XXX

真正的内容,如函数声明之类

#endif

② 支持MFC的编译器只有VC++6.0和vs吗

支持MFC的编译器有VC++(不一定要是6.0版的),还有新版的Borland C++

旧版的 Borland C++ 不支持 MFC ,但是新版的 Borland C++ 支持 MFC 。

所有版本的 VC(从 Visual C++ 1.0 到 Visual C++ 6.0)和 VC.NET(从 Visual C++ 2003 到 Visual C++ 2010 ),全部都支持 MFC 。

③ VS2013新建了个MFC应用程序,新建好编译就出现问题,我没修改任何数据,求助

参考warning D9025: 正在重写“/D_DEBUG”(用“/U_DEBUG”)的错误。的解决思路
在 Visual Studio 开发环境中设置此编译器选项
打开该项目的“属性页”对话框。有关详细信息,请参见如何:打开项目属性页。
单击“C/C++”文件夹

单击“预处理器”属性页。

修改“取消预处理器定义”属性。
_DEBUG修改成 U_DEBUG即可
_DEBUG;%()变成U_DEBUG;%()
https://msdn.microsoft.com/zh-cn/library/hhzbb5c8(v=vs.80).aspx

④ MFC程序是怎么编译的

mfc已经做成了dll,可以动态链接。也有静态链接版本的。

热点内容
苹果怎么打开压缩文件 发布:2024-11-17 18:13:42 浏览:206
海南联通宽带密码是什么 发布:2024-11-17 17:58:56 浏览:627
android签名工具 发布:2024-11-17 17:43:05 浏览:575
酒店酒管软件服务器ip段 发布:2024-11-17 17:34:10 浏览:917
关系数据库关键字 发布:2024-11-17 17:20:12 浏览:308
微信脚本添加好友 发布:2024-11-17 17:19:59 浏览:567
不支持ftpovertls 发布:2024-11-17 17:15:05 浏览:230
腾讯下载视频加密 发布:2024-11-17 17:14:32 浏览:902
手机站源码下载 发布:2024-11-17 17:12:17 浏览:148
root密码忘记了怎么办 发布:2024-11-17 17:08:08 浏览:142