c++文件中的stdafx.h的作用是什么啊?

来源:百度知道 编辑:UC知道 时间:2024/06/22 23:39:52
不需要从其他地方粘贴的答案,我已经从百度上搜索了,但是讲的太专业了,现在只知道他是一个预编译头文件,但是为什么必须使用stdafx.h这个文件,而且如果是预编译的话,我不是用stdafx.h而是将所用的预编译头文件都自己加上可以吗,还有这个头文件如果将他的名字修改了,为什么就不能使用了???

应该是一些常用的定义 比如变量 类 放在这里预定义

当然可以自己把预编译的文件放在自己的头文件里

引入MFC的一些头文件。因为MFC的头文件比较多,所以如果每次点击编译的时候都将所有MFC头文件都编译一次会很费时间,而MFC的头文件内容一般又很少更改。所以就有这种办法:只有第一次编译的时候将MFC头文件编译为一个中间文件,以后每次编译的时候直接引用该中间文件。这个步骤就是通过stdafx.h和stdafx.cpp来实现的。你如果仔细一点点击这两个文件右键属性,可以看到这两个文件是包含在预编译里面的,和其他cpp文件是有区别的。只有预先编译了这两个文件。后续包含了stdafx.h的cpp文件才能正常地引用已经生成的中间文件完成编译期间的符号引用。
说到这里,建议去学习了解下编译原理,学习后会对你针对C++和C程序当中的很多头文件引用,符号引用导致的编译或者链接出错都会很有帮助!

不是必须的。。那是微软自己搞的。

C++标准没这个说法。。
用VC就必须要,其他编译器就不需要了

你在工程属性那里可以选择不使用的。

C++文件中一定要加<stdafx.h>吗?你用的是VC++编译器,使用的Windows封装的MFC,如果用DevCPP,就不需要加<stdafx.h>。没必要知道哪些,我觉得LZ可以学学WIN32 API。