VC中的標頭檔案stdafx h的作用

2022-09-01 22:12:17 字數 933 閱讀 6238

stdafx.h : 標準系統包含檔案的包含檔案。

microsoft c 和 c++ 編譯器提供了用於預編譯任何 c 或 c++ **(包括內聯**)的選項。利用此效能特性,可以編譯穩定的**體,將已編譯狀態的**儲存在檔案中,以及在隨後的編譯中,將預編譯的**與仍在開發的**結合起來。由於不需要重新編譯穩定**,因此後面每次編譯的速度都要快一些。

預編譯**有助於在開發周期中縮短編譯時間,特別是在以下情況中:

用於建立預編譯標頭檔案的第一次編譯所花費的時間比後面的編譯稍長一些。通過包含預編譯**可以加快後面的編譯速度。c 和 c++ 程式都可以預編譯。在 c++ 程式設計中,常見的做法是將類介面資訊分別放到不同的標頭檔案中。此後就可以將這些標頭檔案包含在使用該類的程式中。通過預編譯這些標頭檔案,可以縮短程式的編譯時間。

vc建立專案時自動建立的預編譯標頭檔案,在編譯其他檔案之前,vc先預編譯此檔案。標頭檔案stdafx.h引入了專案中需要的一些通用的標頭檔案,比如window.h等,在自己的標頭檔案中包括stdafx.h就包含了那些通用的標頭檔案。

所謂標頭檔案預編譯,就是把乙個工程(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"。

MFC中的 stdafx h 標頭檔案

size medium 所謂標頭檔案預編譯,就是把乙個工程 project 中使用的一些mfc標準標頭檔案 如windows.h afxwin.h 預先編譯,以後該工程編譯時,不再編譯這部分標頭檔案,僅僅使用預編譯的結果。這樣可以加快編譯速度,節省時間。預編譯標頭檔案通過編譯stdafx.cpp生成...

stdafx h標頭檔案的作用

沒有函式庫,只是定義了一些環境引數,使得編譯出來的程式能在32位的作業系統環境下執行。windows和mfc的include檔案都非常大,即使有乙個快速的處理程式,編譯程式也要花費相當長的時間來完成工作。由於每個.cpp檔案都包含相同的include檔案,為每個.cpp檔案都重複處理這些檔案就顯得很...

stdafx h標頭檔案的作用

stdafx.h標頭檔案的作用 stdafx.h檔案中包含了一些必要的標頭檔案 如afxwin.h 對應於stdafx.h有乙個stdafx.cpp檔案,該檔案內包含一句 include stdafx.h 其作用是令編譯器編譯出乙個stdafx.obj預編譯標頭檔案 pre compile head...