でアセンブリにコンパイルすることができます。私は-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. は、どのように私はどのように私は、ファイル作成時と
- 5. どのように私は
- 6. どのように私は
- 7. どのように私は
- 8. 、どのように私は
- 9. どのように私は
- 10. どのように私は
- 11. どのように私は
- 12. どのように私は
- 13. どのように私は
- 14. gccの-pgフラグはどのように機能しますか?
- 15. GCCのコードカバレッジオプションはどのように機能しますか?
- 16. gcc/g ++はどのようにブートストラップされていますか?
- 17. GCCはどのようにオブジェクトをリンクしていますか?
- 18. はどのように私はjqueryの
- 19. はどのように私はjQueryの
- 20. は、どのように私はjavascriptの
- 21. はどのように私はLuaの
- 22. はどのように私はRailsの
- 23. はどのように私はPerlの
- 24. はどのように私はC#の
- 25. はどのように私はAndroidの
- 26. はどのように私はC#の
- 27. は、どのように私はjQueryの
- 28. はどのように私はjQueryの
- 29. はどのように私は、GridViewの
- 30. は、どのように私はjavascriptの
あなたは、オブジェクト・ファイルの代わりに、アセンブリを意味していますか? – Hogan