2)如果你把pch文件不小心丢了,根据以上的分析,你只要让编译器生成一个pch文件就可以了。也就是说把stdafx.cpp(即指定/Yc的那个cpp文件)重新编译一遍就可以了。
那么在Linux平台下有没有这种预编译机制呢?如果有,它是怎么实现的呢?Linux平台下GCC编译器也实现了预编译机制的。这里以开源IDE CodeBlocks(CodeBlocks内置了GCC编译器)的工程为例来说明Linux平台的实现:
使用CodeBlocks建一个C++工程,然后新建一个my_pch.h,输入如下代码:
<span style="font-size:16px;">/***************************************************************
* Name: my_pch.h
* Purpose: Header to create Pre-Compiled Header (PCH)
* Author: ()
* Copyright: ()
* License:
* 使用方法: 项目构建选项-->其他选项-->填入下面两行
-Winvalid-pch
-include my_pch.h
**************************************************************/
#ifndef MY_PCH_H_INCLUDED
#define MY_PCH_H_INCLUDED
// put here all your rarely-changing header files
#include <iostream>
#include <string>
#endif
</span>
然后在项目构建选项-->其他选项-->填入下面两行
-Winvalid-pch
-include my_pch.h
就可以启用预编译文件头。
然后 main.cpp 就可以不用 include 头文件了,直接这样就可以编译了,
<span style="font-size:16px;">int main()
{
using namespace std;
cout << "Hello world!" << endl;
return 0;
}
</span>
即使在上面的代码写上下面一行,其实是不起作用的:
<span style="font-size:16px;">#include <iostream> </span>
以上就是小编为大家带来的有关C++头文件的包含顺序研究全部内容了,希望大家多多支持ASPKU~
注:相关教程知识阅读请移步到C++教程频道。










