gcc 最開始的時候是 GNU C Compiler, 如你所知,就是一個c編譯器。但是後來因為這個項目裡邊集成了更多其他不同語言的編譯器,GCC就代表 the GNU Compiler Collection,所以表示一堆編譯器的合集。 g++則是GCC的c++編譯器。
現在你在編譯代碼時調用的gcc,已經不是當初那個c語言編譯器了,更確切的說他是一個驅動程序,根據代碼的後綴名來判斷調用c編譯器還是c++編譯器 (g++)。比如你的代碼後綴是*.c,他會調用c編譯器還有linker去鏈接c的library。如果你的代碼後綴是cpp, 他會調用g++編譯器,當然library call也是c++版本的。
當然我說了這麼多你可能感到有些混亂,沒關系,你就把gcc當成c語言編譯器,g++當成c++語言編譯器用就是了。