c++编译器选项笔记

记录一些常用的C++编译器选项。

g++

GCC是 GNU Compiler Collection 的缩写,是多种语言的编译器集合。GCC在历史上也指GNU C Compiler,这就不难理解为什么gcc也是C语言的编译命令了。GCC (GNU Compiler Collection)实际上综合了多种语言,其支持的语言包括C, C++, Objective-C, Objective-C++, Java, Fortran, Ada, Go。

这里,将g++常用的编译选项记录如下

选项 含义
-std=standard 语言标准,如-std=c++11表示采用2011 ISO C++标准
-c 编译但是不链接
-o file file是文件名,输出到文件file
-I dir dir是路径,表示把dir加到头文件搜索路径中。这个选项很重要,特别是在使用第三方库的时候,以及cpp文件与h文件不再同一个路径下的时候
-O 编译器优化级别控制。默认不做优化,即-O0。使用-O1, -O2, -O3,编译器优化程度依次增加,优化越高,编译时间越长
-fopenmp 打开OpenMP
-Wall 打开所有警告
-Wfatal-errors 该选项告诉编译器遇到第一个错误时就停止,而不是继续并显示所有错误
-l 链接到某个库,比如-lnetcdf_c++4
-L dir 可以与-l配合使用,告诉编译器去哪里找到链接库

icpc

Intel编译器中,C++编译器的命令是icpc,C的命令是icc。icpc的编译器选项和g++的很像。

选项 含义
-std= 同g++, 如-std=c++11表示使用C++11标准
-c 同g++
-o 同g++
-I 同g++
Wall 同g++
-qopenmp 打开openmp选项

参考资料

  • Intel® C++ Compiler 17.0 Developer Guide and Reference.
  • GCC 4.8.5 Manual.

你可能感兴趣的:(C++)