でアセンブリにコンパイルすることができます。私は-Sフラグがあることを知っていますが、どこでmakefileで使用しますか?たとえば、フラグ-O3 -o exe_nameを使用する場合は、どこに-Sフラグを付ける必要がありますか?は、どのように私はgccの
答えて
その後、生成されたアセンブラコードを「説明」いくつか生成されたコメントを持っているので、私は-fverbose-asm
を使用しても示唆しています。
GCCの最適化が何をしているのかを理解するためには、-fdump-tree-all
を試すこともできます(ただし、これは,個のファイルを生成します)。
あなたは代わりにオブジェクトファイル(または実行)の、アセンブリファイルを生成するためにGCCを求めることができます。例えば
:
gcc -Wall -c test.c
はtest.cの(test.o)からオブジェクトファイルを生成します。
gcc -Wall -o test test.c
は(test.s)test.cのからアセンブリファイルを生成します
gcc -Wall -S test.c
test.cのから 'テスト' という名前の実行ファイルを生成します
あなたは*アセンブリに*コンパイル*してから*オブジェクトファイルに*アセンブル*してください。例えば、私のシステム上の '-S'のドキュメンテーションは、' '適切なコンパイルの段階の後に停止します。組み立てないでください。 –
組み立てに「コンパイル」しないのはなぜですか?それはまさにそれがやっていることです!コンパイル!アセンブリーコードをアセンブリーするには!コンパイルした後は、0-1または手紙で書くだけです。 – Shahbaz
私の意見では、コンパイルとは、ソースコードをマシンコードに変換することです。アセンブリはマシンコードに非常に近い場合でもソースコードです。 – Macmade
- 1. は、どのように私はgccの
- 2. どのように私はgotoxy達成できる()のgcc
- 3. はどのように私は私に
- 4. gccの-pgフラグはどのように機能しますか?
- 5. GCCのコードカバレッジオプションはどのように機能しますか?
- 6. は、どのように私は私が
- 7. は、どのように私はどのように私は、ファイル作成時と
- 8. どのように私は
- 9. どのように私は
- 10. どのように私は
- 11. どのように私は
- 12. どのように私は
- 13. 、どのように私は
- 14. どのように私は
- 15. どのように私は
- 16. どのように私は
- 17. どのように私は
- 18. どのように私は
- 19. どのように私は
- 20. どのように私は
- 21. どのように私は
- 22. どのように私は
- 23. どのように私は
- 24. どのように私は
- 25. どのように私は
- 26. どのように私は
- 27. Cygwin gccにはどのようなライブラリタイプが必要ですか?
- 28. gcc/g ++はどのようにブートストラップされていますか?
- 29. GCCはどのようにオブジェクトをリンクしていますか?
- 30. GCC:どのように私はあなたが行うならば、私はアセンブリのようにGCCのベースアドレスを変更するにはどうすればよいのベースアドレス
あなたは、オブジェクト・ファイルの代わりに、アセンブリを意味していますか? – Hogan