8

私は多くの静的ライブラリとスタンドアロンcppファイルで構築された大きなバイナリを持っています。インクリメンタルリンクを使用するように設定されていますが、すべての最適化は/Odによって無効にされています。これはデバッグビルドです。インクリメンタルリンクのパフォーマンスが低い

スタンドアロンのcppファイルを変更すると、インクリメンタルリンクが高速に実行されることに気付きました。しかし、私が静的なlibの中のcppを変更した場合、通常のリンクと同じ時間、10分も長く実行されます。この場合、私はインクリメンタルリンクから利益を得られません。スピードアップが可能ですか?私はVS2005を使用します。

+0

実際の.libファイルまたはヘッダーファイルだけを変更しますか?その最後のケースでは実際には不可能です(しかし、pchを使用するといくつかの利点があります)。 – KillianDS

+0

私は.libからただ1つのcppファイルを変更しています。 – ks1322

+0

.libプロジェクトで/ Yuおよび/ Z7オプションを確認します。 –

答えて

7

"Use Library Dependency Inputs"は、プロジェクトの[リンカ全般]プロパティページで設定します。これは、いくつかの異なる副作用を持つかもしれない.libではなく、依存関係.libから個々の.objファイルをリンクします。

+0

私は同意する、この設定は非常にリンクをスピードアップするのに便利です。 –

+1

はい - 質問に直接回答します。私はVisual Studio 2003でXoreax Incredibuildという製品を使用していましたが、それはまさにこれをした "Incredilink"と呼ばれる機能を持っています。ビルド時間の短縮には大きな影響がありました。機能がVisual Studio 2005に直接引き込まれたようだ。 –

+0

@MSNありがとう。私のプロジェクトタイプはMakeFileプロジェクトです。このタイプのプロジェクトにはLinkerプロパティページはありません。とにかくこのプロパティを設定できますか?または、リンカーのコマンドラインに渡しますか?とにかく答え+1。 – ks1322

2

私はあなたに別のタイプの答えを与えるつもりです。ハードウェア

開発環境は何ですか? RAMを増やしたり、ソリッドステートドライブにプロジェクトを追加するにはどうしたらいいですか?私は、SSDを使用することで、私の仕事のプロジェクトでリンク時間が大幅に短縮されることを発見しました。コンパイル時に少し役に立ったが、リンクは膨大だった。より高速なシステムを手に入れることも助けになりました。

+0

+1ハードウェアソリューション。 SSDはそれをスピードアップします。 RAMのような他の提案の場合は-1です(リンクするとメイン2-4GB以上のRAMが必要なプロジェクトはどれくらいの大きさでしょうか?)、またはより高速なシステム(どのシステムを意味しますか) –

+0

人々が@Andyをコード化しようとするシステムの種類。古いデュアルコア2Gig RAM WinXPボックスからクアッドコア8Gig Win7ボックスにアップグレードすると、すべてが少し速くなりました。 SSDほど大きなものではありませんが、言及する価値があります。 –

+0

+1のSSDストレージ – ks1322

0

Visual Stuioを使用した後、正しく理解していれば、静的ライブラリの一部であるオブジェクトファイルに対してインクリメンタルリンク機能が動作しません。

これを解決する1つの方法は、アプリケーションプロジェクトにすべてのソースファイルが含まれるようにソリューションを再構成することです。

+0

ありがとうございました。これを確認するためにMSDNや他のリソースへのリンクを提供できますか?私は、静的ライブラリからのオブジェクトファイルではインクリメンタルリンクが不可能であることを確認したい。 – ks1322

+0

申し訳ありませんが、これはツールを使った自分の経験に基づいています。 – Lindydancer

関連する問題