lto

    0

    1答えて

    私は私CMakeLists.txtに次き、IPOを持つC++アプリケーションを構築するためにCMakeの3.10を使用しようとしている: include(CheckIPOSupported) check_ipo_supported(RESULT ipo_supported) if(ipo_supported) message("-- IPO is supported!")

    4

    1答えて

    私はgccのリンク時最適化(LTO)機能を含めるようにしているARM Cortex-M4プロセッサ上で実行されているプロジェクトを持っています。 は、現在、私のコンパイルとリンクフラグは次のとおりです。 CFLAGS = -ggdb -ffunction-sections -Og LDFLAGS = -Wl,-gc-sections すべてはこれらのフラグで正常に動作し、私は正確にプロジェク

    -1

    1答えて

    基本的に実行時のチェックを追加することで呼び出し元/呼び出し先のマッピングを行います。 各C/C++の戻り値が になる前に許容範囲を調べます。 私はすべての仮想オブジェクトディスパッチを、指定されたクラス階層の仮想テーブルエントリ に順方向マッピングしています。 このデータはLLVM LTO中に収集されます。今私は のために同じことをしたいすべての仮想関数が返します。前方マッピングはどの機能がアク

    1

    1答えて

    Cortex-M4ベースのマイクロコントローラ用に実行可能ファイルをarm-none-eabi-gccでコンパイルしています。パフォーマンスクリティカルでないコードは-Os(実行可能なコードサイズに最適化されています)と別の最適化フラグを持つパフォーマンスクリティカルなパーツでコンパイルされます。 -Og/-O2など このようなビルドで-fltoを使用することは安全ですか?もしそうなら、どの最適化

    0

    1答えて

    this exampleの次に、実行可能ファイルと静的ライブラリをリンクしようとしていますが、MinGW-w64ではリンクしています。 マイCMakeListsファイル:(これはその答えのものと同一であることに注意してください) cmake_minimum_required (VERSION 2.6) project (hellow) SET(CMAKE_C_FLAGS "${CMAKE_C_

    1

    1答えて

    私は突然gcc 6の下で警告を出すC++のFortranルーチンを呼び出す科学計算コードを使用します。 。ここでは必要最小限の問題である: はmult.f90で定義されたFortranのサブルーチンmultを考えてみましょう: subroutine mult(c) complex*16 c c = c * c return end 私はC++ファイルtest.c

    0

    1答えて

    のために、私はtvOSのために(それが重要だ場合は、ターゲットがフレームワークです)プロジェクトをビルドすることだし、リンカからエラーを取得: LD:私はOBJECTS_FILE_DIR_normalでotool -l *.oを走った.oファイルのいずれかが、実際のiOSの代わりtvOSのために構築されてい考え出しアーキテクチャarm64 ため、tvOSのために構築したが、iOSのために構築された

    1

    2答えて

    は、次のプログラムを考えてみましょう。 -O0から-O3までの最適化を使用してclang 5.0またはgcc 7.1(または7.2)でビルドすると、期待どおりに動作します。しかし、私はこれらの構成のいずれかに-fltoを追加する場合、それは以下のバックトレースですぐにクラッシュ: /lib64/libc.so.6(+0x721af)[0x7f596b08e1af] /lib64/libc.so.

    1

    1答えて

    g ++ 4.9のUbuntuでは、その指示に従って静的ライブラリ(libZeroMQ.a)をビルドしました。 "-flto"(リンク時間の最適化)なしで構築されています。 私はlibZeroMQ.aを使用するプロジェクト(MyEXEと呼んでいます)に取り組んでいます。すべてのライブラリを静的にリンクします。私はLTOでMyEXEを構築したいと思っています。 私は2つのオプションがあります。 A)