调用C++编译器的命令,因为编译器和操作系统的不同而有所差别。已经知道,在Linux下,通常使用GNU编译器来编译C++程序,具体命令为:
$ g++ program.cc -o program
其中,-o是编译器选项,后面紧跟着编译后生成的可执行文件的名字。
若想在Windows下使用命令行来很拉风地编译C++程序,命令是什么呢?
是cl。
注意,这个命令使用的前提条件是:系统中已经安装了Visual Studio编译器,并且环境变量设置没有问题。
命令为:
C:\lisa> cl -GX program.cpp
其中,-GX与-o的意义差不多,也是编译时的一个选项。微软编译器自动产生与源文件同名的可执行文件,并具有.exe后缀。
通过搜索发现,cl编译命令的其他选项及其含义还有以下几个:
cl有很多选项,请通过cl /?获取完整列表。这里列出了一些最重要的选项(选项的前缀可以是'-'或'/'),并且有例子。
无选项
C:\lisa>cl foo.c bar.c <==编译出foo.obj,bar.obj并自动调用链接器link链接得到foo.exe
/c 只编译不链接
C:\lisa>cl /c foo.c bar.c <==编译出foo.obj,bar.obj,但不调用链接器
/link <lib> 指定要链接的Library
C:\lisa>cl /link kernel32.lib foo.c <==编译出foo.obj,并链接kernel32.lib,得到foo.exe
/I <dir> 把目录加入include搜录路径中
/D<name>{=|#}<text> 定义预处理器
C:\lisa>cl /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE <==定义2个预处理器
cl常用选项
/c 只编译不链接
/O2 设定速度最优化
/W3 设定警告等级3