中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

輕松理解C語言相關的編譯器gcc和g++

發布時間:2020-07-03 19:52:59 來源:網絡 閱讀:480 作者:ningcaichen66 欄目:編程語言

很多人使用了很久的C語言,但是對gcc,gcc-c++,g++這些還是比較模糊。試著在百度上找一下,到處都是同一篇文章在轉來轉去,里面也寫的比較抽象。我這里先總結一下本人的理解然后用試驗來描述一下。

先總結的來看:

1:gcc可以用來編譯C語言和C++:但是gcc只能鏈接C庫,不能鏈接C++庫;

2:g++可以鏈接C++庫,但是它是通過調用gcc來編譯,因此:它也可以編譯C和C++,但它能編譯的條件是要先存在gcc。

所以通常:如果只有C語言程序,就只要安裝gcc即可搞定,因為它既可以編譯C,也可以鏈接C庫,所以可以最終生成二進制程序。

如果有C++程序,那么gcc不能鏈接C++庫,所以還需要加個g++來鏈接C++庫。

結論:

只有C程序,就只要gcc(它不能鏈接C++庫,所以最終生成不了二進制可執行程序)

如果有C++程序,就要gcc和g++一起(因為g++要調用gcc來編譯)。

-------------------------------查看過程:

以下使用的環境是Centos 6.5 32位:

測試時間:2017年6月2日 16:40

gcc-c++可以看成是g++.exe(windows下的理解方式)的包名,也就是gcc-c++內含g++.exe;

查看安裝了的:

輕松理解C語言相關的編譯器gcc和g++

或者(yum 安裝的是rpm包,也可以用rpm包的查看方式):

輕松理解C語言相關的編譯器gcc和g++

現在寫個C++程序:

輕松理解C語言相關的編譯器gcc和g++

使用vim編輯器:

輕松理解C語言相關的編譯器gcc和g++

查看一下:

輕松理解C語言相關的編譯器gcc和g++

因為gcc鏈接不了C++庫,所以一通的undefined:

輕松理解C語言相關的編譯器gcc和g++

也沒有結果生成:

輕松理解C語言相關的編譯器gcc和g++

改用g++來弄:

輕松理解C語言相關的編譯器gcc和g++

可見:g++就可以了(編譯的時候g++會調用gcc來編譯【gcc可以編譯c和c++】,鏈接的時候用g++來連接)。

運行,看到打印東西了:

輕松理解C語言相關的編譯器gcc和g++

現在弄個C語言:

輕松理解C語言相關的編譯器gcc和g++

使用vim編輯器:

輕松理解C語言相關的編譯器gcc和g++

保存后查看源代碼:

輕松理解C語言相關的編譯器gcc和g++

一開始只有:

輕松理解C語言相關的編譯器gcc和g++

使用gcc編譯(它可以編譯C并鏈接C庫)

輕松理解C語言相關的編譯器gcc和g++

可見,成功生成了a.out

執行a.out

輕松理解C語言相關的編譯器gcc和g++

因為C程序中沒有換行,所以這里輸出自然沒換行,但這就是對了。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

比如县| 乌鲁木齐县| 卢氏县| 大庆市| 金山区| 上饶市| 肥东县| 巴彦淖尔市| 濉溪县| 精河县| 隆林| 东莞市| 寻乌县| 固安县| 巫溪县| 托克托县| 河源市| 塘沽区| 禹州市| 鄂温| 抚顺市| 奉节县| 刚察县| 赤峰市| 蚌埠市| 商河县| 铜山县| 龙口市| 依安县| 平阳县| 滁州市| 沧州市| 太保市| 柞水县| 贵阳市| 汉寿县| 洞头县| 行唐县| 梁河县| 淮阳县| 图木舒克市|