プログラミング言語 gcc GCC -o オプション: 出力ファイルを指定

GCC -o オプション: 出力ファイルを指定

gcc -oオプションは出力ファイルを指定するために使用されます. -o オプションが使用されない場合, デフォルトの出力ファイルが使用されます.たとえば、デフォルトでは、生成された実行可能ファイルの名前はデフォルトで a.out になります。

gcc -o コマンドの構文形式は次のとおりです。

[root@bogon デモ]# gcc [-E|-S|-c] [infile] [-o outfile]

このうち、角括弧 [ ] で囲まれた部分は無視できます。

[infile] は入力ファイル (つまり、処理されるファイル) を表し、ソース ファイル、アセンブリ ファイル、またはオブジェクト ファイルにすることができます; [outfile] は出力ファイル (つまり、処理の結果) を表します。これは、前処理ファイル、オブジェクト ファイル、実行可能ファイルなどです。

通常、[infile] には 1 つのファイルが配置されますが、実際のニーズに応じて複数のファイルを配置することもでき、複数の入力ファイルがあることを示します (例は後で示します)。

GCC -o オプションの使用例

1) ソース ファイルを入力として、実行可能ファイルを出力として取得します。つまり、プログラム全体を完全にコンパイルします。

$ gcc main.c func.c -o app.out

2 つのソース ファイル main.c と func.c を app.out という名前の実行可能ファイルにコンパイルします。 -o オプションを使用しない場合、a.out という名前の実行可能ファイルが生成されます。

2) ソース ファイルを入力ファイルとして、オブジェクト ファイルを出力ファイルとして使用します。つまり、コンパイルのみを行い、リンクは行いません。

$ gcc -c main.c -o ao

ソース ファイル main.c をオブジェクト ファイル ao にコンパイルします。 -o オプションを使用しない場合、main.o という名前のオブジェクト ファイルが生成されます。

3) ソース ファイルを入力ファイルとして使用し、前処理ファイルを出力ファイルとして使用します。つまり、前処理操作のみを使用します。

$ gcc -E main.c -o demo.i

ソース ファイル main.c を前処理し、結果を demo.i ファイルに入れます。 -o オプションを使用しない場合、main.i という名前の前処理済みファイルが生成されます。

4) オブジェクト ファイルを入力として、実行可能ファイルを出力として使用する場合:

$ gcc -c func.c main.c
$ gcc func.o main.o -o app.out

最初のコマンドはコンパイルのみでリンクは行わず、func.o と main.o の 2 つのオブジェクト ファイルを生成します。 2 番目のコマンドは、生成された 2 つのオブジェクト ファイルから最終的な実行可能ファイル app.out を生成します。 -o オプションを使用しない場合、a.out という名前の実行可能ファイルが生成されます。

「 GCC -o オプション: 出力ファイルを指定」についてわかりやすく解説!絶対に観るべきベスト2動画

【日本一わかる】OBSの録画設定でPS4やSwitchを1080p/60fpsの高画質で撮影する方法【OBS使い方】
【日本一わかる】OBSの録画設定でPS5を1080p・1440p・4K60fpsの高画質で撮影する方法【OBS使い方】
gcc -oオプションは出力ファイルを指定するために使用されます. -o オプションが使用されない場合, デフォルトの出力ファイルが使用されます.たとえば、デフォルトでは、生成された実行可能ファイルの名前はデフォルトで a.out になります。

gcc -o コマンドの構文形式は次のとおりです。

[root@bogon デモ]# gcc [-E|-S|-c] [infile] [-o outfile]

このうち、角括弧 [ ] で囲まれた部分は無視できます。

[infile] は入力ファイル (つまり、処理されるファイル) を表し、ソース ファイル、アセンブリ ファイル、またはオブジェクト ファイルにすることができます; [outfile] は出力ファイル (つまり、処理の結果) を表します。これは、前処理ファイル、オブジェクト ファイル、実行可能ファイルなどです。

通常、[infile] には 1 つのファイルが配置されますが、実際のニーズに応じて複数のファイルを配置することもでき、複数の入力ファイルがあることを示します (例は後で示します)。

GCC -o オプションの使用例

1) ソース ファイルを入力として、実行可能ファイルを出力として取得します。つまり、プログラム全体を完全にコンパイルします。

$ gcc main.c func.c -o app.out

2 つのソース ファイル main.c と func.c を app.out という名前の実行可能ファイルにコンパイルします。 -o オプションを使用しない場合、a.out という名前の実行可能ファイルが生成されます。

2) ソース ファイルを入力ファイルとして、オブジェクト ファイルを出力ファイルとして使用します。つまり、コンパイルのみを行い、リンクは行いません。

$ gcc -c main.c -o ao

ソース ファイル main.c をオブジェクト ファイル ao にコンパイルします。 -o オプションを使用しない場合、main.o という名前のオブジェクト ファイルが生成されます。

3) ソース ファイルを入力ファイルとして使用し、前処理ファイルを出力ファイルとして使用します。つまり、前処理操作のみを使用します。

$ gcc -E main.c -o demo.i

ソース ファイル main.c を前処理し、結果を demo.i ファイルに入れます。 -o オプションを使用しない場合、main.i という名前の前処理済みファイルが生成されます。

4) オブジェクト ファイルを入力として、実行可能ファイルを出力として使用する場合:

$ gcc -c func.c main.c
$ gcc func.o main.o -o app.out

最初のコマンドはコンパイルのみでリンクは行わず、func.o と main.o の 2 つのオブジェクト ファイルを生成します。 2 番目のコマンドは、生成された 2 つのオブジェクト ファイルから最終的な実行可能ファイル app.out を生成します。 -o オプションを使用しない場合、a.out という名前の実行可能ファイルが生成されます。

「 GCC -o オプション: 出力ファイルを指定」についてわかりやすく解説!絶対に観るべきベスト2動画

【日本一わかる】OBSの録画設定でPS4やSwitchを1080p/60fpsの高画質で撮影する方法【OBS使い方】
【日本一わかる】OBSの録画設定でPS5を1080p・1440p・4K60fpsの高画質で撮影する方法【OBS使い方】