Visual Studio中“stdafx.h”的用途是什麼?




visual-studio visual-studio-2010 (3)

當我在VS2010中啟動項目時,stdafx.h會自動生成。 我需要製作跨平台的C ++庫,所以我不/不能使用這個頭文件。

這個是來做什麼的? 我可以刪除這個頭文件嗎?


“我不相信這個技巧是微軟編譯器獨有的,我也不認為這是一個原創的開發。”這是正確的。

我在1991/92年左右第一次遇到了使用borland c ++編譯器的預編譯頭文件,我不相信它也是從那裡開始的。

另一種開發是增量鏈接,通過將引用的代碼鏈接到可執行文件來幫助減少代碼大小。

避免重新編譯未被重寫或更新的代碼的其他方法是將項目拆分為許多單獨的文件,其中只有在鏈接之前更改的文件才會重新編譯,在那些大型慢速gui實際執行之前的舊版本中使用make 。


我剛剛碰到了這個問題,因為我試圖創建自己的骨骼框架,但是通過在Visual Studio 2017中創建一個新的Win32程序選項開始。“stdafx.h”是不必要的,應該刪除。 然後,您可以刪除Solution Explorer中愚蠢的“stdafx.h”和“stdafx.cpp”以及項目中的文件。 在這個地方,你需要放置

#include <Windows.h>

代替。


這是一個“預編譯頭文件” - 您在stdafx.h中包含的任何頭文件都會進行預處理,以便在後續編譯過程中節省時間。 你可以在MSDN上閱讀更多關於它的信息

如果您正在構建跨平台應用程序,請在創建項目時選中“空項目”,並且Visual Studio不會在您的項目中放置任何文件。





stdafx.h