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