GCC4.3を使用してC++アプリをコンパイルしています。使用している最適化フラグを手動で選択する代わりに-march=native
、理論的には、コンパイルしているハードウェアに適用可能なすべての最適化フラグを追加する必要があります。しかし、実際に使用しているフラグを確認するにはどうすればよいですか?
110934 次
5 に答える
170
-Q --help=target
次のオプションを使用できます。
gcc -march=native -Q --help=target ...
この-v
オプションも役立つ場合があります。
--help
オプションに関するドキュメントはこちらでご覧いただけます。
于 2011-03-29T09:24:27.747 に答える
136
コマンドライン フラグを表示するには、次を使用します。
gcc -march=native -E -v - </dev/null 2>&1 | grep cc1
特定のパラメーターによって設定されたコンパイラー/プリコンパイラー定義を表示するには、次のようにします。
echo | gcc -dM -E - -march=native
于 2012-02-20T03:30:15.373 に答える
28
次のようになります (-###
は に似ています-v
):
echo | gcc -### -E - -march=native
gcc の「実際の」ネイティブ フラグを表示します。
次のコマンドを使用して、それらをより「明確に」表示することができます。
gcc -### -E - -march=native 2>&1 | sed -r '/cc1/!d;s/(")|(^.* - )//g'
-mno-* でフラグを取り除くことができます:
gcc -### -E - -march=native 2>&1 | sed -r '/cc1/!d;s/(")|(^.* - )|( -mno-[^\ ]+)//g'
于 2013-09-23T15:26:28.393 に答える
14
非ネイティブ クロス コンパイルのセットアップ方法を知りたい場合は、次の記事が役立ちます。
ターゲットマシンで、
% gcc -march=native -Q --help=target | grep march
-march= core-avx-i
次に、ビルド マシンでこれを使用します。
% gcc -march=core-avx-i ...
于 2014-06-13T20:21:14.457 に答える