读书人

stdafx.h 是不是需要自己写?解决方案

发布时间: 2012-06-08 12:55:24 作者: rapoo

stdafx.h 是不是需要自己写?
stdafx.h这个文件是不是在编译其它.h文件和 cpp文件之前编译?

然后我看到一个程序, 这个工程里面的stdafx.h文件貌似是作者自己写的.里面有很多include 和typedef

[解决办法]
stdafx。h是一个预编译头文件,主要存放的是在项目中用处最广的哪些头文件。完全是可以自己写的。根据项目的需要。
[解决办法]
一般情况下没必要,自己的东西可以写在别的文件下
[解决办法]
看你的具体情况了
[解决办法]
在stdafx.h文件中写大量的自己的代码不是个好习惯, 从软件的维护, 代码的阅读, 思维习惯都不推荐这样做!
[解决办法]
所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。   
预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。   

编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,它跳过#include "stdafx. h"指令,使用projectname.pch编译这条指令之后的所有代码。
[解决办法]
只要 你喜欢 可以自己写

读书人网 >C++

热点推荐