從名字上看,老的unix系統(tǒng)的CC程序叫做C Compiler。但GCC這個名字按GNU的說法叫做Gnu Compiler Collection。因為gcc包含很多編譯器(C, C++, Objective-C, Ada, Fortran,and Java)。所以它們是不一樣的,一個是一個古老的C編譯器,一個是編譯器的Gnu的編譯器的集合(Gcc里的C編譯器比CC強大太多了,所以你沒必要用CC)。當你調用gcc時不一定是調用的C/C++編譯器,是gcc根據文件擴展名自動識別并調用對應的編譯器,具體可查閱$man gcc。
你是下載不到CC的,原因是:CC來自于昂貴的Unix系統(tǒng),CC是商業(yè)軟件,要想用你需要打電話,寫訂單,而不是打開你的Browser去download。
linux下的cc是gcc的符號鏈接??梢酝ㄟ^$ls –l /usr/bin/cc來簡單察看.而編譯時看到的控制臺輸出CC則是一個指向gcc的變量,該變量是make程序的內建變量,就算你在Makefile中沒有CC= ,該變量也會存在,并默認指向gcc。cc的符號鏈接和變量存在的意義在于源碼的移植性,可以方便的用GCC來編譯老的用cc編譯的unix軟件,甚至連Makefile都不要改。而且也便于linux程序在unix下編譯。
近幾年的一個新情況是越來越多的unix用戶,據我所知像solaris,bsd用戶也不太使用CC了,人們都一定要裝一個gcc,用它來編譯C/C++程序。原因顯而易見,gcc足夠強大,健壯。支持估計目前為止只有它支持的ISO c/c++ 新特性。當然你最好不要使用night版本的gcc。
轉自: