g++
命令。.c
。C++源文件的後綴則有些混亂,不同的編譯器支持不同的後綴,下表是一個簡單的匯總:.cpp
作為 C++ 源文件的後綴,這樣更加通用和規范。
.cpp
即可,相信各位讀者都能夠毫無障礙地駕馭。本節我們重點介紹 Linux GCC 的使用。gcc
命令來編譯和鏈接C程序。例如編譯單個源文件:
gcc main.c
編譯多個源文件:gcc main.c module.c
編譯C++程序時,gcc
命令也可以使用,不過要增加-lstdc++
選項,否則會發生鏈接錯誤。例如編譯單個源文件:
gcc main.cpp -lstdc++
編譯多個源文件:gcc main.cpp module.cpp -lstdc++
gcc
命令在鏈接時默認使用C的庫,只有添加了-lstdc++
選項才會使用 C++ 的庫。g++
命令,它專門用來編譯 C++ 程序,廣大 C++ 開發人員也都使用這個命令。g++
命令和gcc
命令的用法如出一轍,例如編譯單個源文件:
g++ main.cpp
編譯多個源文件:g++ main.cpp module.cpp
使用-o
選項可以指定可執行文件的名稱:
g++ main.cpp -o demo
./demo
g++
命令,我們得從 GCC 的歷史談起。GCC 是由 GUN 組織開發的,最初只支持C語言,是一個單純的C語言編譯器,後來 GUN 組織傾注了更多的精力,使得 GCC 越發強大,增加了對 C++、Objective-C、Fortran、Java 等其他語言的支持,此時的 GCC 就成了一個編譯器套件(套裝),是所有編譯器的總稱。gcc
命令也做了相應地調整,它不再僅僅支持C語言,而是默認支持C語言,增加參數後也可以支持其他的語言。也就是說,gcc
是一個通用命令,它會根據不同的參數調用不同的編譯器或鏈接器。g++
命令用來編譯 C++,gcj
命令用來編譯 Java,gccgo
命令用來編譯Go語言。g++
命令來編譯 C++ 程序,這樣更加簡潔和規范。