惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MyScale Blog
MyScale Blog
Jina AI
Jina AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
阮一峰的网络日志
阮一峰的网络日志
P
Proofpoint News Feed
Last Week in AI
Last Week in AI
博客园 - 司徒正美
Martin Fowler
Martin Fowler
T
Tailwind CSS Blog
B
Blog RSS Feed
Vercel News
Vercel News
博客园 - 聂微东
I
InfoQ
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
M
MIT News - Artificial intelligence
Recent Announcements
Recent Announcements
GbyAI
GbyAI
L
LangChain Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Security Blog
Microsoft Security Blog
C
Check Point Blog
MongoDB | Blog
MongoDB | Blog
B
Blog

博客园 - 林杰的博客

7z系列之一:7zip SDK中C++模块的编译 WORD2012 中使用“全屏阅读” Office2012中使用“冻结窗格”功能锁定标题栏 开发工具:Visual Studio 2005下方便宜用的代码行统计工具 为Visual Assist设置快捷键 Visual Studio 2010的Python支持工具 Linux 使用pid文件结束nginx 让Win7资源管理器显示图片内容预览 Python 单元测试带案例名称输出 Linux 系统安装配置NTP时间服务器 Editplus中.proto文件的高亮文件 c#美味: 微软图表控件MSChart安装部署 测试工具:用性能监视器查看程序的性能 C#美味:Linq入门 讲座 C++零食:使用Unicode版的预定义宏__FUNCTION__ C++零食:重启后消失的注册表键值 C++零食:WTL中使用双缓冲避免闪烁 C++零食:wprintf 中使用%I64d格式化输出LONGLONG C++零食:HRESULT 与 Windows Error Codes 不是一回事
C++零食:VC中使用ForceInclude来强制包含stdafx.h
林杰的博客 · 2010-10-16 · via 博客园 - 林杰的博客

在使用VC编程中,为了加快编译,vc编译器提供了预编译的功能。即在cpp代码中包含stdafx.h,那么就可以使用到预编译。

如下所示:

#include "stdafx.h"

class Demo
{
public:
    Demo(void);
    ~Demo(void);
};

注意: #include “stdafx.h” 是自己手动写的,默认是没有的。

因此,有时总会出现忘记写这个的事情,这时候编译器就会报一个错误:

Error    1    fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?    d:\3_code\vc\forceincludedemo\forceincludedemo\demo.cpp    11   

要是能不添加stdafx.h也能有预编译这个功能就好了。

ForceIncludes

经过一番查找,我发现在编译器中提供了一个/FI (Name Forced Include File)的选项。

通过使用这个选项就可以避免这样的事情发生了。

这个参数的设置在工程的“属性”对话框中,具体是C++下面Advanced中的Force Includes属性。

如图:

image

参考资料

/FI (Name Forced Include File)

http://msdn.microsoft.com/en-us/library/8c5ztk84.aspx