1.3 KiB
1.3 KiB
GCC的全稱是GNU Compiler Collection,是GNU工具鏈中的一種。GCC不僅支持C/C++語言,還支持Fortran/Ada/Java等語言的編譯。GCC和gcc是兩個概念,GCC是工具鏈的集合,裡面除了gcc/g++還包含了ccl,cclplus等組件。gcc/g++只是GCC工具鏈的一個子集。
g++和gcc的區別
gcc可以判斷出目標程序所使用編程語言的類別,會把xxx.c文件當作C語言編譯,把xxx.cpp文件當作C++語言編譯。而g++只把xxx.c和xxx.cpp一律都當作C++語言來編譯。在編譯C++文件的時候,g++會自動鏈接一些標準庫或基礎庫,而gcc不會。當正在編譯的C++代碼文件依賴STL標準庫的時候,為了使用STL,gcc命令需要增加參數–lstdc++。因此,雖然gcc和g++都可以編譯C++語言程序,但是使用g++會更方便一些。
常見文件副檔名
- 目標文件:
- xxx.o:操作系統:Linux, Mac
- xxx.obj, 操作系統:windows
- 二進製文件:
- xxx(沒有後綴名), 操作系統:Linux, Mac, FreeBSD,
- xxx.exe, 操作系統:windows
- xxx.hex,操作系統:嵌入式系統
- 共享庫文件,也叫動態庫文件:
- xxx.dll, 操作系統:windows
- xxx.so, 操作系統:Linux
- xxx.dylib, 操作系統:Mac\
- 靜態庫文件
- xxx.a