CL.exe 是控制 Microsoft C 和 C++ 编译器与链接器的 32 位工具。编译器产生通用对象文件格式 (COFF) 对象 (.obj) 文件。链接器产生可执行文件 (.exe) 或动态链接库文件 (DLL)。
注意,所有编译器选项都区分大小写。
若要编译但不链接,请使用 /c。
使用 NMAKE 生成输出文件。
使用 BSCMAKE 支持类浏览。
以下是一个完整的编译器选项分类列表。
优化
选项 作用
/O1 创建小代码
<clk> /O2 创建<nobr oncontextmenu="return false" onmousemove="kwM(0)" id="clickeyekey0" onmouseover="kwE(event,0, this)" style="color: #6600ff; border-bottom: #6600ff 1px dotted; background-color: transparent; text-decoration: underline" onclick='$cE.defer(this);kwC(event,0,"")' onmouseout="kwL(event,this)">快速</nobr>代码 </clk>
/Oa 假设没有别名
/Ob 控制内联展开
/Od 禁用优化
/Og 使用全局优化
/Oi 生成内部函数
/Op 改善浮点数一致性
/Os 代码大小优先
/Ot 代码速度优先
/Ow 假定在函数调用中使用别名
/Ox 使用最大优化 (/Ob1gity /Gs)
/Oy 省略框架指针
代码生成
选项 作用
/clr 启用 C++ 的托管扩展并产生在公共语言运行库上运行的输出文件
/EH 指定异常处理模型
/G3 优化代码以优选 386 处理器。在 Visual C++ 5.0 中已经停用,编译器将忽略此选项
/G4 优化代码以优选 486 处理器。在 Visual C++ 5.0 中已经停用,编译器将忽略此选项
/G5 优化代码以优选 Pentium
/GB 与 /G6 等效;将 _M_IX86 的值设置为 600
/Gd 使用 __cdecl 调用约定
/Ge 激活堆栈探测
/GF
/GF 启用字符串池
/GH 调用挂钩函数 _penter
/GH 调用挂钩函数 _pexit
/GL 启用全程序优化
/Gm 启用最小重新生成
/Gr 启用运行时类型信息 (RTTI)
/Gr 使用 __fastcall 调用约定
/GS 控制堆栈探测
/GT 支持使用静态线程本地存储区分配的数据的纤程安全
/GX 启用同步异常处理
/Gy 启用函数级链接
/GZ 使用 __stdcall 调用约定
/MD 使用 MSVCRT.lib 创建多线程 DLL
/MDd 使用 MSVCRTD.lib 创建调试多线程 DLL
/ML 使用 LIBC.lib 创建单线程可执行文件
/MLd 使用 LIBCD.lib 创建调试单线程可执行文件
/MT 使用 LIBCMT.lib 创建多线程可执行文件
/MTd 使用 LIBCMTD.lib 创建调试多线程可执行文件
输出文件
选项 作用
/FA
/FA 创建列表文件
设置列表文件名
/Fd 重命名程序数据库文件
/Fe 重命名可执行文件
/Fm 创建映射文件
/Fo 创建对象文件
/Fp 指定预编译头文件名
/FR
/FR 生成浏览器文件
/Fx 将插入的代码与源文件合并
调试
选项 作用
/GS 缓冲区安全检查
/GZ 与 /RTC1 相同
/RTC 启用运行时错误检查
/Wp64 检测 64 位可移植性问题
/Yd 将完整的调试信息放在所有对象文件中
/Yl 创建调试库时插入 PCH 引用
/Z7 生成与 C 7.0 兼容的调试信息
/Zd 生成行号
/Zi 生成完整的调试信息
预处理器
选项 作用
/AI 指定在解析传递到#using 指令的文件引用时搜索的目录
/c 在预处理期间保留注释
/D 定义常数和宏
/E 将预处理器输出复制到标准输出
/EP 将预处理器输出复制到标准输出
/Fl 预处理指定的包含文件
/FU 强制使用文件名,就像它已被传递到#using 指令一样
/I 在目录中搜索包含文件
/P 将预处理器输出写入文件
/U 移除预定义宏
/U 移除所有的预定义宏
/X 忽略标准包含目录
/ZI 将调试信息包含在与“编辑并继续”兼容的程序数据库中
语言
选项 作用
/noBool 取消 C++ bool、true 和 false 关键字
/vd 取消或启用隐藏的 vtordisp 类成员
/vmb 对指向成员的指针使用最佳的基
/vmg 对指向成员的指针使用完全一般性
/vmm 声明多重继承
/vms 声明单一继承
/vmv 声明虚拟继承
/Za 禁用语言扩展
/Zc 在 /Ze 下指定标准行为
/Ze 启用语言扩展
/Zg 生成函数原型
/Zl 从 .obj 文件中移除默认库名
/Zp n 封装结构成员
/Zs 只检查语法
链接
选项 作用
/F 设置堆栈大小
/LD 创建动态链接库
/LDd 创建调试动态链接库
/link 将指定的选项传递给 LINK
/MD 使用 MSVCRT.lib 编译以创建多线程 DLL
/MDd 使用 MSVCRTD.lib 编译以创建调试多线程 DLL
/ML 使用 LIBC.lib 编译以创建单线程可执行文件
/MLd 使用 LIBCD.lib 编译以创建调试单线程可执行文件
/MT 使用 LIBCMT.lib 编译以创建多线程可执行文件
/MTd 使用 LIBCMTD.lib 编译以创建调试多线程可执行文件
预编译头
选项 作用
/Y- 忽略当前生成中的所有其他预编译头编译器选项
/Yc 创建预编译头文件
/Yd 将完整的调试信息放在所有对象文件中
/Yu 在生成期间使用预编译头文件
/YX 自动处理预编译头
杂项
选项 作用
@ 指定响应文件
/? 列出编译器选项
/c 编译但不链接
/H 限制外部(公共)名称的长度
/HELP 列出编译器选项
/J 更改默认的 char 类型
/NOLOGO 取消显示登录版权标志
/QI0f 确保 Pentium 0F 指令没有问题
/QIfdiv FDIV、FPREM、FPTAN 和 FPATAN 指令有缺陷的 Intel Pentium 微处理器的变通方法
QIfist 当需要从浮点类型转换为整型时取消 Helper 函数 _ftol 的调用
/showIncludes 在编译期间显示所有包含文件的列表
/Tc
/Tc 指定 C 源文件
/Tp
/Tp 指定 C++ 源文件
/V 设置版本字符串
/w 设置警告等级
/w 禁用所有警告
/Wall 启用所有警告,包括默认情况下禁用的警告
/WL 在从命令行编译 C++ 源代码时启用错误信息和警告消息的单行诊断
/Zm 设置编译器的内存分配限制
分享到:
相关推荐
三合一C/C++编译器,适合初学者:VC:Visual C++ 6.0,简称VC或者VC6.0,是微软的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。;DEV是一个C++ 开发工具。它包括多页面窗口、工程编辑器,在...
C-Free提供了对目前业界主流C/C++编译器的支持,你可以在C-Free中轻松切换编译器。可定制的快捷键、外部工具以及外部帮助文档,使你在编写代码时得心应手。完善的工程/工程组管理使你能够方便的管理自己的代码。 ...
C++Builder 结合了先进的基于组件的程序设计技术,成熟的可视化组件库和优秀编译器,调试器。发展到5.0版本,C++Builder 已经成为一个非常成熟的可视化应用程序开发工具,功能强大而且效率高。 C++Builder的特色: ...
- Dr.MinGW可以读取由GUN C/C++编译器(Linux 下GCC、Windows下MinGW)生成的DWARF格式的调试信息,以及由Microsoft Visual C++编译器生成的PDB文件中的调试信息。它依赖于DbgHelp库来解析由Microsoft工具编译的模块...
dev C是一个微软旗下的c++及c编译器,效率高超,旧版本也可以下载(如已经成为过去式的Windows xp)效率也挺高,比如我这个宏基i5(已经停产)运行也是正常的。 下面内容为了提高曝光度,凑字数的: Dev-C++(或者...
利用本软件,使用者可以轻松地编辑、编译、连接、运行、调试C/C++程序。 1. 支持多编译器,可以配置添加其他编译器;(0) 目前支持的编译器类型: (1) MinGW 2.95/3.x/4.x/5.0 (2) Cygwin (3) Borland C++ Compiler...
C-Free提供了对目前业界主流C/C++编译器的支持,你可以在C-Free中轻松切换编译器。可定制的快捷键、外部工具以及外部帮助文档,使你在编写代码时得心应手。完善的工程/工程组管理使你能够方便的管理自己的代码。 ...
利用本软件 使用者可以轻松地编辑 编译 连接 运行 调试C C++程序 C Free中集成了C C++代码解析器 能够实时解析代码 并且在编写的过程中给出智能的提示 C Free提供了对目前业界主流C C++编译器的支持 你可以在C Free...
Microsoft Visual C/C++ for Windows and Windows NT, 32版本编译器和Phar Lap连接器(TNT链接器) (CL and 386LINK) MetaWare High C/C++ 编译器和Phar Lap连接器(TNT链接器) (HC386 and 386LINK) Open-Watcom C/C++...
Microsoft Visual C/C++ for Windows and Windows NT, 32版本编译器和Phar Lap连接器(TNT链接器) (CL and 386LINK) MetaWare High C/C++ 编译器和Phar Lap连接器(TNT链接器) (HC386 and 386LINK) Open-Watcom C/C++...
Microsoft Visual C/C++ for Windows and Windows NT, 32版本编译器和Phar Lap连接器(TNT链接器) (CL and 386LINK) MetaWare High C/C++ 编译器和Phar Lap连接器(TNT链接器) (HC386 and 386LINK) Open-Watcom C/C++...
Microsoft Visual C/C++ for Windows and Windows NT, 32版本编译器和Phar Lap连接器(TNT链接器) (CL and 386LINK) MetaWare High C/C++ 编译器和Phar Lap连接器(TNT链接器) (HC386 and 386LINK) Open-Watcom C/C++...
Microsoft Visual C/C++ for Windows and Windows NT, 32版本编译器和Phar Lap连接器(TNT链接器) (CL and 386LINK) MetaWare High C/C++ 编译器和Phar Lap连接器(TNT链接器) (HC386 and 386LINK) Open-Watcom C/C++...
Microsoft Visual C/C++ for Windows and Windows NT, 32版本编译器和Phar Lap连接器(TNT链接器) (CL and 386LINK) MetaWare High C/C++ 编译器和Phar Lap连接器(TNT链接器) (HC386 and 386LINK) Open-Watcom C/C++...
利用本软件,使用者可以轻松地编辑、编译、连接、运行、调试C/C++程序。C-Free 4 较之前的版本有巨大改进,主要有以下特性:(主窗口) 1. 支持多编译器,可以配置添加其他编译器;(0) 目前支持的编译器类型: (1)...
利用本软件,使用者可以轻松地编辑、编译、连接、运行、调试C/C++程序。 安装之前请解压,否则安装会出错! 1. 支持多编译器,可以配置添加其他编译器; 目前支持的编译器类型: (1) MinGW 2.95/3.x/4.x/5.0 (2) ...
利用本软件,使用者可以轻松地编辑、编译、连接、运行、调试C/C++程序。C-Free 4 较之前的版本有巨大改进,主要有以下特性:(主窗口) 1. 支持多编译器,可以配置添加其他编译器;(0) 目前支持的编译器类型: (1) ...
利用本软件,使用者可以轻松地编辑、编译、连接、运行、调试C/C++程序。C-Free 5 主要有以下特性 1. 支持多编译器,可以配置添加其他编译器;(0) 目前支持的编译器类型: (1) MinGW 2.95/3.x/4.x/5.0 (2) Cygwin ...
李文娟,中国石油大学(华东)硕士,现供职于国家行政学院,工作后一直从事软件开发和软件项目管理工作,对计算机语言、计算机体系结构、操作系统都非常熟悉,尤其是精通C和C++编程技术. 目录 封面 -19 封底 -18 扉页...
C-Free提供了对目前业界主流C/C++编译器的支持,你可以在C-Free中轻松切换编译器。可定制的快捷键、外部工具以及外部帮助文档,使你在编写代码时得心应手。完善的工程/工程组管理使你能够方便的管理自己的代码。 ...