第四周:gcc & g++
名词解释
GCC: GNU Compiler Collection(GNU 编译器集合),它可以编译C、C++、JAV、Fortran、Pascal、Object-C 等语言。
gcc 是 GCC 中的 GUN C Compiler(C 编译器)
g++ 是 GCC 中的 GUN C++ Compiler(C++编译器)
由于编译器是可以更换的,所以gcc不仅仅可以编译C文件
所以,更准确的说法是:gcc 调用了C compiler,而 g\+\+ 调用了 C\+\+ compiler
主要区别
对于 .c 和 .cpp 文件,gcc 分别当做 c 和 cpp 文件编译( c 和 cpp 的语法强度是不一样的)
对于 .c 和 .cpp 文件,g++ 则统一当做 cpp 文件编译
使用 g++ 编译文件时,g++ 会自动链接标准库 STL,而 gcc 不会自动链接 STL
gcc 在编译 c 文件时,可使用的预定义宏是比较少的
gcc 在编译 cpp 文件时 / g\+\+在编译 c 文件和 cpp 文件时(这时候 gcc 和 g++ 调用的都是 cpp 文件的编译器),会加入一些额外的宏
在用 gcc 编译 c++ 文件时,为了能够使用 STL,需要加参数 –lstdc++ ,但这并不代表 gcc –lstdc++ 和 g++ 等价,它们的区别不仅仅是这个