2017-05-19 9 views
1

g ++ 4.9のUbuntuでは、その指示に従って静的ライブラリ(libZeroMQ.a)をビルドしました。 "-flto"(リンク時間の最適化)なしで構築されています。静的にリンクされたLTO実行可能ファイル(リンク時間の最適化):以前ビルドされたライブラリを使ってファイルを作る方法

私はlibZeroMQ.aを使用するプロジェクト(MyEXEと呼んでいます)に取り組んでいます。すべてのライブラリを静的にリンクします。私はLTOでMyEXEを構築したいと思っています。

私は2つのオプションがあります。

A)コンパイルとリンクの両方で "-flto" を使用して、MyEXEを構築します。以前に構築されたlibZeroMQ.aとリンクします。

B)ZeroMQの設定/ビルドスクリプトをハック(変更)し、「-flto」を追加してlibZeroMQ.aを再構築します。次に、新しいlibZeroMQ.aにリンクしてMyEXEをビルドします。もちろん、MyEXEのコンパイルとリンクの両方で "-flto"を使用しています。 MyEXEのパフォーマンスの面で

、私は思う:

  1. B)、それはより多くのコード(ZeroMQでは具体的には、コード)は、リンク時に最適化のために考慮することを可能にするため)Aよりも優れています。

  2. A)は、LTOをまったく使用しない場合よりも優れています。

私の理解は正しいですか?ありがとう!

答えて

1

私は本当にこの答えではなく、コメントすることに苦しんでいますが、それ答えです:

はい、あなたの理解は正しいです。

関連する問題