この質問が示すように、g ++を使用すると、実行できますg++ -S -masm=intel test.cpp
。また、clangを使用すると、実行できますがclang++ -S test.cpp
、-masm=intel
clang()ではサポートされていませんwarning argument unused during compilation: -masm=intel
。clangでIntel構文を取得するにはどうすればよいですか?
質問する
58541 次
3 に答える
120
@thakisによって以下に記載されているように、Clang の新しいバージョン (3.5+) は-masm=intel
引数を受け入れます。
古いバージョンの場合、これにより、clang がインテルの構文でアセンブリ コードを発行するようになります。
clang++ -S -mllvm --x86-asm-syntax=intel test.cpp
を使用-mllvm <arg>
して、clang コマンド ラインから llvm オプションを渡すことができます。悲しいことに、このオプションは十分に文書化されていないようです。そのため、llvm メーリング リストをブラウズすることでしか見つけられませんでした。
于 2012-08-14T17:44:17.360 に答える
47
clang r208683 (clang 3.5+) の時点で、それは理解でき-masm=intel
ます。したがって、clang が十分に新しい場合は、そのまま使用できます。
于 2014-05-13T11:47:55.820 に答える
17
Clangに通常のLLVMバイトコードを出力させることができると仮定すると、llcを使用してアセンブリ言語にコンパイルし、その--x86-asm-syntax=intel
オプションを使用してIntel構文で結果を取得できます。
于 2012-06-12T03:45:26.757 に答える