• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:gccコンパイルの「o」オプションについて教えて下さい)

gccコンパイルの「o」オプションとは?

このQ&Aのポイント
  • gccコンパイルの「o」オプションは、オブジェクトファイルをリネームするために使用されます。
  • リネームすることで、出力ファイルの名前を変更することができます。
  • 「o」オプションは、特定のシチュエーションで使用されますが、具体的な詳細は明確ではありません。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

>g++ -o a.out c.o cpp.o これは、オブジェクトファイル c.oとcpp.oをリンクしてa.outに出力する と、いうところは、よろしいですか? gcc/g++などでは、最終的な実行ファイルは(入力ファイル名に関係なく) a.out(Windows版ではa.exe) になります。 演習問題くらいならそれでかまわないのですが、実用的なソフト、たとえば、lsやcatが全て「a.out」では困ります。リネームするにしても、元のa.outがlsから作ったa.outなのかcatからのa.outなのかわかりません。 そこで -o で出力 ファイル名を指定します。 ・-oを使わない場合 gcc ls.c : lsのソースをコンパイルしてファイルa.outに出力 gcc cat.c : catのソースをコンパイルしてファイルa.outに出力 ・-oを使う場合 gcc -o ls ls.c : lsのソースをコンパイルしてファイルlsに出力 gcc -o cat cat.c : catのソースをコンパイルしてファイルcatに出力 #実際のlsやcatはもうちょっと複雑ですが、例ということで。 また、条件付きコンパイルといって、同じソースファイルから条件の違うオブジェクトファイルを作成することができます。(例えば、同じ計算をintで行う低精度高速版とdoubleで行う高精度低速版とか)そんな場合にオブジェクトファイルを区別するのにも使います。 gcc -c -o ex_fast.o -DEX_FAST ex.c : ex.cのソースをEX_FASTの条件でコンパイルしてファイルex_fast.oに出力 gcc -c -o ex_high.o -DEX_HIGH ex.c : ex.cのソースをEX_HIGHの条件でコンパイルしてファイルex_high.oに出力 # 実際には、条件を満す1つだけを使うことが多く、この例のような使い方はあまりみかけません

stadiumk
質問者

お礼

よく理解できました。 ありがとうございました。 これから、「o」オプションを使いこなしていけそうです!

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

・デフォルトの名前では都合の悪いとき ・ファイル名を明示したいとき とかかな.

関連するQ&A

専門家に質問してみよう