通過前面的學習我們知道,對於執行 C 或者 C++ 程序,需要藉助 gcc(g++)指令來調用 GCC 編譯器。並且對於以 .c 爲擴展名的文件,GCC 會自動將其視爲 C 源代碼文件;而對於以 .cpp 爲擴展名的文件,GCC 會自動將其視爲 C++ 源代碼文件。
除此之外,GCC 編譯器還可以自動識別多種擴展名(如表 1 所示),即根據不同的擴展名確定該文件該怎樣編譯。
文件名稱+擴展名 | GCC 編譯器識別的文件類型 |
---|---|
file.c | 尚未經過預處理操作的 C 源程序文件。 |
file.i | 經過預處理操作、但尚未進行編譯、彙編和連接的 C 源代碼文件。 |
file.cpp file.cp file.cc file.cxx file.CPP file.c++ file.C |
尚未經過預處理操作的 C++ 源代碼文件。 |
file.ii | 已經預處理操作,但尚未進行編譯、彙編和連接的 C++ 源代碼文件。 |
file.s | 經過編譯生成的彙編代碼文件。 |
file.h | C、C++ 或者 Objective-C++ 語言頭文件。 |
file.hh file.H file.hp file.hxx file.hpp file.HPP file.h++ file.tcc |
C++ 頭文件。 |
注意,表 1 僅羅列了 GCC 編譯器可識別的與 C 和 C++ 語言相關的文件後綴名。除此之外,GCC 編譯器還支持 Go、Objective-C,Objective-C ++,Fortran,Ada,D 和 BRIG(HSAIL)等編程語言的編譯,關於這些編程語言可被識別的文件擴展名,感興趣的讀者可前往GCC官網查看。