質問: 「g ++」および「c ++」コンパイラ 私はちょうど私のubuntuで見つけた、2つの異なるc++コンパイラがあります:/ usr/bin/g ++と/ usr/bin/c ++。私は後者には詳しくありませんが、man c ++はgccのマンページにジャンプします。 c++コンパイラとしての違いは何でしょうか。
回答: c++は、システム上のc++コンパイラの標準名です。gnuシステムでは、ほぼ確実にgcc(gnuコンパイラコレクション)がインストールされており、これにはc++という名前のg++コンパイラが含まれています( 'g' for gnu)。ただし、posix互換であるために、このコンパイラはc++としてインストールされることもあります。c++は、g++へのシンボリックリンクである場合もあれば、ハードリンクである場合もあります。 2回インストールされます。これは、freebsdやnetbsdのような他のシステムには当てはまりません。これらのシステムにはgcc(および他のgnuもの))がインストールされていない可能性があります。私のシステムでは、これらの2つのファイルはまったく同じです。% diff `which c++` `which g++` % echo $? 0 つまり、c++は少なくとも同じコンパイラを起動しますが、理論的には、いくつかのコマンドラインオプションを異なる方法で解釈したり、デフォルトを変更したりできます。より多くの知識を持つ人は、この点で答えを自由に拡張できます。