GCC與G++

GCC和G++都是GNU的一個編譯器.

下面從編譯和連接兩個方面加以比較.

編譯:

1.後綴爲.c的,GCC把它當作是C程序,而G++當作是c++程序;後綴爲.cpp的,兩者都會認爲是c++程序

2.在編譯階段,G++是調用GCC(按C++語法編譯)的.因爲C++對語法的要求更嚴格,所以,某一C文件用GCC編譯能過,用G++則不一定通過.

extern "C"與GCC還是G++並無關係,都是以C的命名方式編譯出結果.

__cplusplus宏標誌編譯器將代碼按C還是C++來編譯,所以,對G++而言,該宏總是定義的,對GCC而言,後綴爲.cpp的則該宏是已定義的,否則,未定義.

連接:

3.gcc命令連接C程序沒問題,但它不能自動和C++程序使用的庫聯接.所以針對C++程序通常使用gcc -lstdc++或者g++來完成聯接.

這裏面就不具體舉例子了.其實主要理解的還是Makefile的編寫和gdb調試的使用,這兩個纔是最重要的.這個網上資料很多,本博客以後也不打算介紹這方面內容了.

發佈了38 篇原創文章 · 獲贊 10 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章