首先,與StdAfx.h對應的還有一個(gè)StdAfx.cpp文件,他們的目的是一次編譯,生成一個(gè)projectname.pch這樣的一個(gè)預編譯頭文件,將其用于工程中所有的cpp文件,這樣的話(huà),如果工程中的某個(gè)cpp文件需要引用頭文件的話(huà),則只需要去引用預編譯pch文件即可,無(wú)需引入頭文件,從而避免了重新編譯頭文件的麻煩,由于MFC系統的頭文件比較巨大,如果每個(gè)CPP都重新編譯一遍頭文件,將浪費過(guò)多的編譯時(shí)間,故這種做法能大大加快編譯速度。
其次,這就要求每個(gè)CPP如果要使用預編譯頭文件projectname.pch加快編譯速度的話(huà),VC默認的方式是通過(guò)在文件的中加入StdAfx.h的方法來(lái)告知編譯器需要使用projectname.pch,當然,如果不使用預編譯頭文件,不想有這樣的限制的話(huà),可以在工程->設置->c/c++->預編譯頭文件中修改相關(guān)選項為不使用預編譯頭文件。
最后,使用預編譯頭文件技術(shù),將工程中需要使用頻繁,但修改不頻繁的頭文件放到StdAfx.h中,這樣只需要在第一次編譯時(shí)生成projectname.pch文件,之后只要StdAfx.h文件的內容沒(méi)有改變,StdAfx.cpp將不需要重新編譯,從而又一次提高了編譯速度。
聯(lián)系客服