头文件预编译
所謂頭文件預編譯,就是把一個工程(Project)中使用的一些MFC標準頭文件(如Windows.H、 Afxwin.H)預先編譯,以后該工程編譯時,不再編譯這部分頭文件,僅僅使用預編譯的結果。這樣可以加快編譯速度,節省時間。 預編譯頭文件通過編譯stdafx.cpp生成,以工程名命名,由于預編譯的頭文件的后綴是“pch”,所以編譯結果文件是projectname.pch。 編譯器通過一個頭文件stdafx.h來使用預編譯頭文件。stdafx.h這個頭文件名是可以在project的編譯設置里指定的。編譯器認為,所有在指令#include "stdafx.h"前的代碼都是預編譯的,它跳過#include "stdafx. h"指令,使用projectname.pch編譯這條指令之后的所有代碼。 因此,所有的CPP實現文件第一條語句都是:#include "stdafx.h"。 另外,每一個實現文件CPP都包含了如下語句: #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif 這是表示,如果生成調試版本,要指示當前文件的名稱。__FILE__是一個宏,在編譯器編譯過程中給它賦值為當前正在編譯的文件名稱。 VC默認情況下使用預編譯頭(/Yu),不明白的在加入新.h文件后編譯時總出現fatal errorC1010: 在查找預編譯頭指令時遇到意外的文件結尾的錯誤。解決方法是在include頭文件的地方加上#include"stdafx.h",或者打項目屬性,找到“C/C++”文件夾,單擊“預編譯頭”屬性頁。修改“創建/使用預編譯頭”屬性為“不使用預編譯頭”。
轉載于:https://www.cnblogs.com/mysunnyday/archive/2011/09/18/2180154.html
總結
- 上一篇: 眼部肌肉营养不良也被称为进行性核眼肌麻痹
- 下一篇: c语言常考