摘要: 什么是gcc、什么是g++?
gcc和g++都是GNU(組織)的一個編譯器。
但兩者有一些區(qū)別:后綴為.c的文件gcc把它當(dāng)做c程序,g++當(dāng)做c++程序。后綴為c++的兩者都當(dāng)做c++程序。對于cpp程序,無論gcc或者是g++編譯階段都是相同的,都是用的gcc進(jìn)行編譯,但是在鏈接階段gcc不能自動和c++程序使用的庫連接,如果使用的話,形如下: gcc helloworld.cpp -lstdc++ -o helloworld
所以我們通常用g++來進(jìn)行連接(g++會自動連接c++常用庫),所以為了使用方便對于cpp程序干脆編譯鏈接統(tǒng)統(tǒng)都使用g++,這樣就給人一種錯覺,好像cpp只能用g++編譯。
Gcc編譯處理過程是什么呢?
下面以helloworld程序?yàn)槔ミM(jìn)行解釋過程:
其中hello.c的內(nèi)容如下:
#include
int main()
{
printf("hello world\n");
}
第一步:預(yù)處理
預(yù) 閱讀全文