十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
很多人使用了很久的C語言,但是對gcc,gcc-c++,g++這些還是比較模糊。試著在百度上找一下,到處都是同一篇文章在轉(zhuǎn)來轉(zhuǎn)去,里面也寫的比較抽象。我這里先總結(jié)一下本人的理解然后用試驗來描述一下。
先總結(jié)的來看:
1:gcc可以用來編譯C語言和C++:但是gcc只能鏈接C庫,不能鏈接C++庫;
2:g++可以鏈接C++庫,但是它是通過調(diào)用gcc來編譯,因此:它也可以編譯C和C++,但它能編譯的條件是要先存在gcc。
所以通常:如果只有C語言程序,就只要安裝gcc即可搞定,因為它既可以編譯C,也可以鏈接C庫,所以可以最終生成二進制程序。
如果有C++程序,那么gcc不能鏈接C++庫,所以還需要加個g++來鏈接C++庫。
結(jié)論:
只有C程序,就只要gcc(它不能鏈接C++庫,所以最終生成不了二進制可執(zhí)行程序)
如果有C++程序,就要gcc和g++一起(因為g++要調(diào)用gcc來編譯)。
-------------------------------查看過程:
以下使用的環(huán)境是Centos 6.5 32位:
測試時間:2017年6月2日 16:40
gcc-c++可以看成是g++.exe(windows下的理解方式)的包名,也就是gcc-c++內(nèi)含g++.exe;
查看安裝了的:
或者(yum 安裝的是rpm包,也可以用rpm包的查看方式):
現(xiàn)在寫個C++程序:
使用vim編輯器:
查看一下:
因為gcc鏈接不了C++庫,所以一通的undefined:
也沒有結(jié)果生成:
改用g++來弄:
可見:g++就可以了(編譯的時候g++會調(diào)用gcc來編譯【gcc可以編譯c和c++】,鏈接的時候用g++來連接)。
運行,看到打印東西了:
現(xiàn)在弄個C語言:
使用vim編輯器:
保存后查看源代碼:
一開始只有:
使用gcc編譯(它可以編譯C并鏈接C庫)
可見,成功生成了a.out
執(zhí)行a.out
因為C程序中沒有換行,所以這里輸出自然沒換行,但這就是對了。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。