4
我有一個項目(VC2005),它需要一個不合理的時間(超過40分鐘)鏈接在發佈,而它在調試中少於5秒鏈接。緩慢鏈接釋放優化禁用
兩個版本都禁用增量鏈接,並且所有文件都位於同一個驅動器上。 在Release中禁用鏈接器優化不會有幫助。
任務管理器永遠不會顯示鏈接器使用的超過150,000 K的內存,這對於具有3GB內存的計算機來說不算什麼。
我正在建造更大的項目,從未注意到建築時間的差異。
任何想法,爲什麼會發生這種情況?
另外我有雙核心cpu和任務管理器顯示所有時間都使用了50%的cpu,所以所有的時間都花在鏈接器上。 –
我不知道msvc,但GNU LD需要大量額外的內存和時間去除死代碼。如果來自兩個版本(發行版和調試版)的二進制文件的大小大不相同,請嘗試查看是否可以找到某些選項來禁用嘗試消除未使用的代碼。 –
也許/ LTCG(鏈接時間代碼生成)啓用?但是我懷疑這會使5秒與40分鐘之間的差異變大。項目中兩種配置之間必須有本質區別。 – pag3faul7