ソースコードがコンパイルされた後、オブジェクトファイルが作成されます。私は.exeファイルしか見ることができないので、どこでオブジェクトファイルを見つけることができますか?私はWindows上でCygwinを使用しているので、gccを使ってプログラムをコンパイルしています。cプログラムのオブジェクトファイルはどこに保存されていますか?
答えて
多くのコンパイラでは、オブジェクトファイルのみをコンパイルして生成するために、-c
オプションがサポートされています。
make
ベースのビルドを使用する場合、オブジェクトファイルは中間として処理され、自動的に削除されます。これを避けるには、.PRECIOUS:
ターゲットで宣言してください。あなたのプログラムは、単一のCソースファイルで構成されている場合、標準的には、「オブジェクトファイル」を指定していないので、
、あなたは、言語弁護士の答えとして
gcc -c file.c # Creates file.o, but no file.exe
gcc -o prog file.o # Creates prog.exe by linking file.o with appropriate libs
実装固有です。いくつかの(奇妙な)Cの実装はインタプリタです(例えば、tinyccなど)がメモリ内でコンパイルすることがあります(したがって、ファイルは生成されません)。他のもの(例えば、私のGCCコンパイラ、尋ねられないときは...)は、オブジェクトファイルを保持しません(gcc -Wall foo.c bar.c -o prog.exe
foo.obj
& bar.obj
は一時的なので保管されませんが、YMMV)。
なぜdownvotes? –
おそらく、あなたが通訳に言及していて、質問は編集に関するものです。いくつかは速く読むかもしれません。 –
を使用することができます作成されなければならないときソースがコンパイルされている:(Quotation from N1570, 6th footnote、強調鉱山)
6)、これらの別々の相が発生した場合のように実装は、多くは、典型的には、実際に一緒に折り畳まれているにもかかわらず、 に動作しなければなりません。ソース ファイル、翻訳単位、および翻訳単位は、として必ず格納する必要はなく、これらのエンティティと任意の外部表現の間に1対1の対応が必要はありません。 この説明は概念的なものであり、特定の実装である を指定していません。
しかし、ほとんどのメインストリームの実装では、「オブジェクトファイル」が生成され、削除されることに注意してください。それらを保持したい場合は、-c
フラグを追加します(GCCとclangの両方で動作します)。
- 1. 画像はプログラムの中でどこに保存されていますか?
- 2. ロケールのリソースはどこに保存されていますか?
- 3. Jcommentsのデータはどこに保存されていますか?
- 4. ServiceWorkerのデータはどこに保存されていますか?
- 5. ByteArrayのデータはどこに保存されていますか?
- 6. ネイティブアンドロイドブラウザのクッキーはどこに保存されていますか?
- 7. gdbのブレークポイントはどこに保存されていますか?
- 8. BigQueryのデータはどこに保存されていますか?
- 9. svnのデフォルトコミットメッセージはどこに保存されていますか?
- 10. Magentoのパスワードはどこに保存されていますか?
- 11. Djangoのユーザーモデルフィールドはどこに保存されていますか?
- 12. IPB4 - グループ名はどこに保存されていますか?
- 13. CloudWatchログデータはどこに保存されていますか?
- 14. コアダンプファイルはどこに保存されていますか?
- 15. memcachedはどこに保存されていますか?
- 16. EventListenerはどこに保存されていますか?
- 17. phonegap - ファイルはどこに保存されていますか?
- 18. gitデータベースファイルはどこに保存されていますか?
- 19. Android:データベースファイルはどこに保存されていますか?
- 20. TortoiseHg拡張はどこに保存されていますか?
- 21. Alfresco PDFプレビューはどこに保存されていますか?
- 22. IDはどこに保存されていますか?
- 23. KeyChainデータはどこに保存されていますか?
- 24. メソッドローカル変数はどこに保存されていますか?
- 25. .pickleファイルはどこに保存されていますか?
- 26. SQLQuery1.sqlはどこに保存されていますか?
- 27. :コマンド履歴はどこに保存されていますか?
- 28. ModX Evolution:SMTPパスワードはどこに保存されていますか?
- 29. CDEダッシュボードファイルはどこに保存されていますか?
- 30. Wordpress - カスタムフィールドはどこに保存されていますか?
ビルドシステムのようなサウンドは、中間オブジェクトファイルを保存しません。あなたは.exeと言っているので、私はあなたがWindows上にいると仮定しますが、どのコンパイラを使用していますか? –
あなたのツールチェーンによって異なります。あなたのツールチェーンは何ですか? – Quentin
リンク直後に削除されたようです。それらを保持するためのオプションが必要ですが、それはあなたのコンパイラによって異なります。 – ForceBru