BETA

MinGWのgccデフォルト出力はなぜa.exeなのか

投稿日:2019-08-26
最終更新:2019-08-26

TL;DR

gcc で出力ファイル名を指定する -o オプション がないときのデフォルト出力ファイル名が a.out で その Windows 移植版である MinGW のデフォルト出力は a.exe だから

調べた経緯

後輩が Windows 版 Visual Studio Code で C++ の勉強してて、
出力ファイル名を a.exe にしてデバッグしたりしてるからなんだそのポンコツ名どこで指定してんだって探してもどこででも指定してなくてなんじゃこりゃと思って調べてみたらgccのデフォルトだったという話。
あと、hoge.o っていうファイルがコンパイル時に生成されていて後輩がテキストエディタで hoge.o を開こうとして「文字化けが直らないんです~」とか言ってるからそれエディタで開くファイルじゃなくね?みたいな話の正確な根拠を即答できなかったのでこっちも調べてみらhoge.o はオブジェクトファイル(C#とかだと .objに相当)ってことも以下リファレンスに書いてあったのでべんきょうになりましたまる

参考

3.2 Options Controlling the Kind of Output - GCC online documentation

※本文と関係ないけど GCC online documentation みづらすぎ…… HTML公開版をそのまま見る前提じゃないのかもしれないけどさすがに。Google検索のサイト指定オプション使って "a.out" site:gcc.gnu.org/onlinedocs とかで検索してようやく目的の場所にたどりつけた

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@junki555の技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう