預編譯標頭檔案

2021-04-02 00:14:11 字數 752 閱讀 1599

詳細描述請參看 msdn: precompiled header 相關介紹。

在vc6.0 編譯器中(其實其他很多編譯器也有相關技術),為了加快編譯速度 ,常採用所謂的預編譯技術。

比如說,你在除錯乙個很大的工程,全部編譯一次需要很長的時間,而每次除錯時的修改只是區域性細微的,其他很多模組,尤其是呼叫其他庫阿什麼的都沒改動過,於是自然會想到,那麼如果好多東西確信不會在除錯中改動何必一遍又一遍地編譯呢?何不把它編譯好放在一邊,以後只是鏈結就可以了。

呵呵,vc編譯器想到了這一點,

project->setting->c/c++->category->precompiled headers-> 下面有四種選項

預設的是use precompiled header file through header[stdafx.h]

預設的情況下,在生成的vc工程下的.cpp檔案中都有

#include "stdafx.h"

而stdafx.cpp中就是一句「#include "stdafx.h" 」,

stdafx.h的目的就是包含哪些需要預編譯的模組

比如在stdafx.h中 包含了 #include以及inline function xxfunction

那麼xx.h標頭檔案所指的code,以及xxfunction的code就會被預編譯,在除錯時不再會被編譯,(除非你怒了,***,怎麼這麼多奇怪的錯誤,於是乎,rebuild all).

以上  理解不一定是對的,準確的說明請參見msd中的detailed論述。

預編譯標頭檔案

stdafx.h標頭檔案的作用 今天在改乙個很大的程式,慢慢看,慢慢改。突然發現乙個.c檔案,裡面什麼也沒有,就幾個標頭檔案,我一看,我靠,這不是把簡單的問題搞複雜了嗎,隨手刪掉那個c檔案。結果不能編譯了,我靠 fatal error c1083 cannot open precompiled he...

預編譯標頭檔案

一 預編譯標頭檔案使用經驗 如果預編譯標頭檔案被正確使用時,它確實大大提高我們程式設計的效率 你工作中,有多少時間是在等編譯完成?很多吧,這個時候一般都很無聊,無奈,浪費時間 但是他太容易用錯了.下面是幾種常見的錯誤用法.1 在預編譯標頭檔案裡include自己的標頭檔案 當然,如果你的標頭檔案不經...

預編譯標頭檔案

預編譯標頭檔案 今天在改乙個很大的程式,慢慢看,慢慢改。突然發現乙個.c檔案,裡面什麼也沒有,就幾個標頭檔案,我一看,我靠,這不是把簡單的問題搞複雜了嗎,隨手刪掉那個c檔案。結果不能編譯了,我靠 fatal error c1083 cannot open precompiled header fil...