-2

重複の可能性:
gcc で C/C++ ソースからアセンブラー出力を取得するにはどうすればよいですか?

簡単な質問があります。

Android アプリケーション用に記述されたネイティブ C++ コードがいくつかあります。

プロジェクトを Eclipse でコンパイルするときに、GCC コンパイラによって生成されるアセンブリ コードを確認する方法はありますか?

4

1 に答える 1

9

複数の方法でそれを行うことができます。

  1. に -S フラグを追加LOCAL_CFLAGSしますAndroid.mk。それからrun ndk-build。ただし、これは最初のファイルでは失敗するため、後のファイルではアセンブラー コードを取得できません。
  2. arm-linux-androideabi-gcc -S file.cpp必要なファイルのコマンドラインから手動で呼び出します。さらに、正しいインクルード定義を渡す必要がある場合があります。実行ndk-build V=1して、使用するコマンドラインを正確に確認します
  3. ビルドを通常どおり実行して、共有ライブラリ (.so ファイル) を取得します。そして実行しarm-linux-androideabi-objdump -d libYourLibrary.so >disasm.txtます。これにより、1 つの .cpp ファイルだけでなく、ライブラリ全体が分解されます。
于 2012-05-09T08:01:20.407 に答える