基本知识不再赘述,有需要的TX可以参考MSDN中“创建预编译头文件”的内容,下面说说我碰到的情况:
因为项目不是很忙,所以准备开发一套自己常用的模板来方便日后的开发,开始时采用静态库的方式,建立了两个项目,一个库,一个测试程序;
开发了不久就发现智能提示有问题,静态库这边没办法用Ctrl+J看到函数列表,尝试着把静态库的代码都放到测试项目中,还是不行,
仔细检查,发现我如果在静态库代码的头文件中加上#include "../stdafx.h",智能提示就正常了(因为为了代码文件结构不散乱,所以
我的静态库代码是在项目文件夹中另外建了一个文件夹来放置),但是在.cpp文件中做相同改动的话,编译会提示
“warning C4627: “#include "../StdAfx.h"”: 在查找预编译头使用时跳过”
最后只能将静态库文件都不使用预编译头文件才行。
结论:预编译头文件看起来不仅与加快编译速度有关,还与智能提示有关,似乎是启动项目的stdafx.h来产生.ncb文件,瞎猜,没根据,姑妄听之。