本文记录 gcc 与 g++ 的相关信息。


1. gcc


1.1 gcc 对 c++ 标准的支持情况


1.2 gcc 与 g++ 的区别

编译区别:对于 .c 和 .cpp 文件,gcc 分别当做 c 和 cpp 文件编译,而 g++ 统一当成 cpp 文件编译。

链接区别:g++ 能自动链接 c++ 的标准库,而 gcc 需要手动指定,比如 gcc -lstdc++


1.3 gcc 选项列表

-c 只编译,不链接,生成目标文件 “.o”。
-S 只编译,不汇编,生成汇编文件 “.S”。
-E 只进行预编译/预处理,不做其他处理。
-o file 把输出写入文件名为 file 的文件里。
-g 在可执行文件中包含标准调试信息。
-v 打印出编译器内部编译各过程的命令行信息和编译器的版本。
-l dir 在头文件的搜索路径列表中添加 dir 目录。
-L dir 在库文件的搜索路径列表中添加 dir 目录。
-static 连接静态库(静态库也可以用动态库链接方式链接)
-llibrary 连接名为 library 的库文件(显示指定需要链接的动态库文件)


2. g++


2.1 g++ 查看当前支持的 c++ 版本信息

g++ -dM -E -x c++ /dev/null | grep -F __cplusplus

3. 参考