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++ プログラムをコンパイルしないことをお勧めします。また、移植性の問題を引き起こす可能性が高くなります。
あなたが記事を読んで楽しんだことを願っています。そのような記事をお楽しみに。