记录一些常用的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。
选项 | 含义 |
---|---|
-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 |
该选项告诉编译器遇到第一个错误时就停止,而不是继续并显示所有错误 |
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选项 |
参考资料