2024年4月29日发(作者:)

用法详解

是控制MicrosoftC和C++编译器与链接器的32位工具。编译器产生通用对象

文件格式(COFF)

对象(.obj)文件。链接器产生可执行文件(.exe)或动态链接库文件(DLL)。默认情况下

编译完后自动调用进行连接.所以通常后会生成两个文件:和

;

注意,所有编译器选项都区分大小写。

注:运行可能需要在c:注册

环境变量.

vc目录下的编译程序环境变量的配置方法

在“我的电脑--属性--高级--环境变量”中,添加如下变量:

INCLUDE

C:ProgramFilesMicrosoftVisualStudioVC98Include

LIB

C:ProgramFilesMicrosoftVisualStudioVC98Lib

PATH

C:ProgramFilesMicrosoftVisualStudioCommonMSDev98Bin;C:ProgramFilesMicrosoft

VisualStudioVC98Bin

C表示安装盘符,注意这里是两个路径,因为要用到MSDev98Bin目录下的

如果已经存在这些变量,则把以上值分别加在对应的变量值的后面,注意在添加前用分号隔

开。

用法如下:

][option|file]...[][@command-file][/]

option:一个或多个CL选项。请注意,所有选项都应用于所有指定的源文件。选项是由一

正斜杠(/)或一个短划线(-)指定的。如果某个选项带有参数,则该选项的说明指

定在选项和参数之间是否允许有空格。选项名(/HELP选项除外)区分大小写。有关

更多信息,请参见CL选项的顺序。

/c:编译但不链接

/Zs:检查语法

/?:列出编译器选项

/arch:使用SSE或SSE2指令生成代码

/arch:SSE2

/clr:启用C++的托管扩展并产生在公共语言运行库上运行的输出文件

/F:设置堆栈大小|此选项设置程序堆栈大小(以字节为单位)。

如果不使用此选项,堆栈大小默认为1MB

/F100

/Fe:重命名可执行文件

/

/G7:针对Pentium4或Athlon优化代码。

/GA:优化Windows应用程序的代码

/GL:启用全程序优化

/Gm:启用最小重新生成

/HELP:列出编译器选项

/I:在目录中搜索包含文件|指定源文件目录include

/I"e:VCinclude"

/link:将指定的选项传递给LINK

/MD:使用创建多线程DLL

/ML:使用创建单线程可执行文件

/MT:使用创建多线程可执行文件

/O1:创建小代码

/O2:创建快速代码

/Os:代码大小优先

/W:设置警告等级

/W3

------------------------------

/Ot:代码速度优先

/LD:创建动态链接库

/Ox:使用最大优化

/Zs:只检查语法

------------------------------

/TC:指定C源文件

/TP:指定C++源文件

-----------------------------------------------------------------------------------------

file:一个或多个源文件、.obj文件或库的名称。CL编译源文件并将.obj文件和库的名

称传递给链接器。有关更多信息,请参见CL文件名语法。

lib:一个或多个库名。CL将这些名称传递给链接器。

command-file:包含多个选项和文件名的文件。有关更多信息,请参见CL命令文件。

link-opt:一个或多个链接器选项。CL将这些选项传递给链接器

---------------------------------------------------------------------------------------------

精典用法:

cl*.cpp/G7/MD/Ox/Ot/W3/c/EHsc/I"G:VisualC++VC98PlatformSDKInclude"

例:cld:/EHsc

此处解释一下为什么这样调用编译命令,默认情况下,cl在编译完成之后会自动调用link,

命令行中带上/EHsc是为了打开"C++例外(Exceptions)",以免出现编译器警告;微软的编

译器从2002开始,默认设置了一个编译选项/GS,其作用是堆栈检查,以