我們有一個大項目,在大約300個DLL中有大於1M行的代碼。 到目前爲止,我們一直在使用VS6。VS2008中的巨大OBJ文件C++編譯與VS6相比較
我已經將一切轉換爲VS2008,所有編譯,鏈接和更重要的 - 運行!
==>但是...由此產生的編譯後的OBJ文件是X 10更大,鏈接速度非常慢,鏈接器經常打擊大於1GB的內存。
部分含義是我需要用/ bigobj編譯某些項目。
結果是從桌面上的1:45左右開始到3h。 DLL和LIB與舊版VS6版本的大小大致相同。
我已閱讀所有我可以在這裏找到,但沒有找到解決這個問題的辦法。 如果它是額外的DEBUG信息 - 我不想要它。我以前吃夠了。 發佈中的尺寸增加,但不是太多...
任何人有什麼想法?或者,我是唯一選擇將項目分解爲更小的單元?重構我唯一的希望嗎?!肯定有一個祕密的標誌我錯過了...
EDIT1(13/07/2012 12:20BST)我DUMPBIN通過VS6與VS2008創建一個OBJ相比 。 2008年的那個 出現好像「靜態鏈接」。在VS6中,它包含當前DLL中的幾個符號。在VS2008中,它包含來自(可能)所有依賴的庫的符號。 VS6和VS2008的Dumpbin大小分別爲66kb和32,000kb。
嘗試在項目設置(C++分支)中禁用「調試信息」。 – 2012-07-12 17:19:15
_「我們有一個大項目,大約300個DLL中有大於1M的代碼,到目前爲止我們一直在使用VS6。」_我永遠不會再抱怨我的工作。 – Luke 2012-07-12 17:31:42
@IvanShcherbakov - 這不會阻止我輕鬆調試嗎? – aabramovich 2012-07-12 17:32:54