GCC を使用して C++ プログラムをコンパイルする
gcc と g++ はどちらも、C++ プログラムのコンパイルに使用できる GNU プロジェクトコンパイラです。この記事では、gcc を使用して C++ プログラムをコンパイルする方法について説明します。
gcc を使用して C++ プログラムをコンパイルする
gcc のマニュアルページにあるように、コンパイラは C プログラムと一緒に C++ プログラムをコンパイルできます。
ただし、ターミナル(またはその他のコマンドラインプログラム)から通常の gcc コマンドを実行すると、エラーが表示されます。
コンパイルの問題のため、エラーは生成されません。むしろ、リンカはエラーを生成します。これは、gcc がデフォルトでプログラムを C 言語にリンクしているためです。
gcc のリンカーの動作を変更するには、C++ にリンクするリンカーの名前を含む追加の引数を渡すことができます。そのためのコマンドラインコードを見てみましょう。
gcc myProgram.cpp -lstdc++
a.out という名前のオブジェクトファイルが生成されます。 -o フラグを使用して、オブジェクトファイルに名前を付けることができます。
gcc myProgram.cpp -lstdc++ -o myProgram
プログラムを実行するには、myProgram ファイルを実行する必要があります。これを行うには、Linux ターミナルで次のコマンドを実行します。
./myProgram
C++ プログラムの場合、プログラムファイルに C++ 拡張子を指定する必要があることに注意してください。C++ 拡張機能を以下に示します。
.cpp.cc.C(文字の場合に注意してください)
g++ と gcc を使用して C++ プログラムをコンパイルする
gcc を使用して C++ コードをコンパイルできますが、毎回追加の引数を渡す必要があるため、プロセスがはるかに複雑になります。
したがって、C++ プログラムのコンパイルには g++ コンパイラを使用する方がはるかに優れています。追加の引数なしで、コードを C++ リンカーに自動的にリンクします。
以下に示すように、g++ を使用してコードをコンパイルできます。
g++ myProgram.cc
a.out という名前のオブジェクトファイルを生成します。以下の -o フラグを使用して、オブジェクトファイルに名前を付けることができます。
g++ myProgram.cc -o myProgram
前のセクションと同じ方法でプログラムを実行できます。
まとめ
不要なエラーを回避するために、必要になるまで gcc を使用して C++ プログラムをコンパイルしないことをお勧めします。また、移植性の問題を引き起こす可能性が高くなります。
あなたが記事を読んで楽しんだことを願っています。そのような記事をお楽しみに。