在使用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屬性。
如圖: