1. ホーム
  2. c++

インテル構文でclangを使用してアセンブリコードを生成する方法は?

2023-09-26 15:32:47

質問

として この質問 が示すように、g++で、私は g++ -S -masm=intel test.cpp . また、clangでは clang++ -S test.cpp ができますが -masm=intel は clang ではサポートされていません ( warning argument unused during compilation: -masm=intel ). どうすればclangでintel構文を使えるようになりますか?

どのように解決するのですか?

として は、@thakis によって以下に指摘されました。 のように、Clang の新しいバージョン (3.5+) は -masm=intel 引数を受け入れます。


古いバージョンでは、これは clang が Intel 構文でアセンブリコードを生成するようにするはずです。

clang++ -S -mllvm --x86-asm-syntax=intel test.cpp

を使うことができます。 -mllvm <arg> を使って clang コマンドラインから llvm オプションを渡すことができます。悲しいことに、このオプションはあまり文書化されていないようで、llvmメーリングリストをブラウズすることによってのみ見つけることができました。