我有一個由大約50個源文件組成的C++/CLI程序集。該程序集中的代碼靜態鏈接到許多C++庫,以執行各種「繁重」類型的任務。Visual Studio 8:在混合模式程序集中構建時間
我正在使用Visual Studio 8(2005)SP1來構建此程序集。
通過「僅限於項目」 - >「僅重建」在一個體面的雙核機器上花費大約4.5分鐘來構建這個程序集(沒有依賴關係等)。下面是縮寫構建輸出標註有近似時間:
Compiling...
(file 0)
(file 1)
...
(file N) // About 2 min total to compile all files
Linking... // About 12s
Generating Code // 42s
Finished Generating Code // < 1s
Embedding Manifest // < 1s
Generating Code // 30s
Finished Generating Code
(15 seconds of nothing)
Done
我應該如何開始調試爲什麼這個組件要花這麼長時間來構建?編譯和鏈接時間雖然不是很好,但可能與我對於這個規模的項目所期望的一樣。令我擔憂的是,我看到兩個「生成代碼」的步驟,每個步驟都比其他大多數項目花費的時間要長。
我的第一個猜測是,這與鏈接到程序集的非託管代碼的數量有關。但是,我有幾個託管的應用程序項目使用的本地代碼量非常多,並且構建時間非常合理。
有誰知道究竟會導致兩個'生成代碼'的步驟需要很長時間嗎?有沒有我錯過的項目設置?