❶ VC中".pch"是什麼文件,沒有.pch文件怎麼辦(ZZ)
.pch文件是 用來預編譯頭文件用的,如果生成.pch文件,上次編譯的部分頭文件,下次就不用重新再編譯了。
所謂的預編譯頭就是把一個工程中的那一部分代碼,預先編譯好放在一個文件里(通常是以.pch為擴展名的),這個文件就稱為預編譯頭文件這些預先編譯好的代碼可以是任何的 C/C++代碼--------甚至是inline的函數,但是必須是穩定的,在工程開發的過程中不會被經常改變。如果這些代碼被修改,則需要重新編譯生成預編譯頭文件。注意生成預編譯頭文件是很耗時間的。同時得注意預編譯頭文件通常很大,通常有6-7M大。注意及時清理那些沒有用的預編譯頭文件。
編譯器是以文件為單位編譯的,一個文件經過修改後,會重新編譯整個文件,當然在這個文件里包含的所有頭文件中的東西(.eg Macro, Preprocesser )都要重新處理一遍。VC的預編譯頭文件保存的正是這部分信息。以避免每次都要重新處理這些頭文件。
預編譯頭的作用:
根據上文介紹,預編譯頭文件的作用當然就是提高便宜速度了,沒有必要每次 都編譯那些不需要經常改變的代碼。編譯性能當然就提高了。
預編譯頭的使用:
要使用預編譯頭,我們必須指定一個頭文件,這個頭文件包含我們不會經常改變的代碼和其他的頭文件,然後用這個頭文件來生成一個預編譯頭文件(.pch文件)StdAfx.h這個文件。這是VC提供的一個「系統級別」的,編譯器帶的一個頭文件。其實不是的,這個文件可以是任何名字的。 典型的由AppWizard生成的MFC Dialog Based程序的預編譯頭文件。(因為AppWizard 會指定好如何使用預編譯頭文件,默認的是StdAfx.h,這是VC起的名字)。發現這個頭文件里包含了以下的頭文件:
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#include <afxdisp.h> // MFC Automation classes
#include <afxdtctl.h> // MFC support for Internet Explorer 4
Common Controls
#include <afxcmn.h>
這些正是使用MFC的必須包含的頭文件
一個頭文件是不能編譯的。所以還需要一個cpp文件來生成.pch 文件。這個文件默認的就是StdAfx.cpp。在這個文件里只有一句代碼就是:#include 「Stdafx.h」。原因是理所當然的,僅僅是要它能夠編譯而已?D?D?D也就是說,要的只是它的.cpp的擴展名。可以用/Yc編譯開關來指
定StdAfx.cpp來生成一個.pch文件,通過/Fp編譯開關來指定生成的pch文件的名字。打 開project ->Setting->C/C++ 對話框。把Category指向Precompiled Header。在左邊的樹形視圖里選擇整個工程Project Options(右下角的那個白的地方)可以看到 /Fp 「debug/PCH.pch」,這就是指 定生成的.pch文件的名字,默認的通常是<工程名>.pch(示例工程名就是PCH)。 然後,在左邊的樹形視圖里選擇StdAfx.cpp.//這時只能選一個cpp文件! 這時原來的Project Option變成了 Source File Option(原來是工程,現在是一個文件,當然變了)。在這里可以看到 /Yc開關,/Yc的作用就是指定這個文件來創建一個 Pch文件。/Yc後面的文件名是那個包含了穩定代碼的頭文件,一個工程里只能有一個文件的可以有YC開關。VC就根據這個選項把 StdAfx.cpp編譯成一個Obj文件和一個PCH文件。
然後再選擇一個其它的文件來看看,//其他cpp文件
在這里,Precomplier 選擇了 Use ???一項,頭文件是指定創建PCH 文件的stda fx.h 文件。事實上,這里是使用工程里的設置,(如圖1)/Yu」stdafx.h」。這樣,就設置好了預編譯頭文件。就可以使用預編譯頭功能了。
❷ .pch是什麼後綴名的文件(下面還有一個問題^_^)
pch是PreCompiled Headers文件,可以從某個頭文件生成,可以加快編譯速度,以vc6環境為例,在Project菜單中選擇Settings,C/C++頁面, Category中選擇Precompiled Headers, 選擇 Not using precompiled headers即可
❸ xcode pch 路徑在哪兒
1.) 打開你的Xcode工程. 在Supporting Files目錄下,選擇 File > New > File > iOS > Other > PCH File 然後點擊下一步;
2.) 給你的PCH文件起名字TestDemo-Prefix.pch. 例如你的項目工程名為TestDemo然而你的PCH 文件的名字應該為 TestDemo-Prefix.pch,然後創建;
3.) 選擇 PCH 文件(文章的示例文件為 TestDemo-Prefix.pch) ,可以看到裡面的內容如下:
4.) 找到 Project > Build Settings > 搜索 「Prefix Header「;
5.) 「Apple LLVM 7.0 -Language″ 欄目中你將會看到 Prefix Header 關鍵字;
6.) 輸入: YourProjectName/YourProject-Prefix.pch (如 TestDemo/TestDemo-Prefix.pch );
7.),將Precompile Prefix Header為YES,預編譯後的pch文件會被緩存起來,可以提高編譯速度。
8.) Clean 並且 build 你的項目.
就是這樣!Done!現在你可以使用你的 PCH 文件就像你使用老版本的Xcode一樣了
❹ vs2022為什麼會在D盤根目錄下生成windows kits文件
你安裝的時候選擇了windows的SKD,就會有這個文件夾,但是目錄是可以修改的