@
指定响应文件。
/?
列出编译器选项。
/AI
指定要搜索的目录,以解析传递给 指令的文件 #using 引用。
/analyze
启用代码分析。
/arch
为代码生成指定体系结构。
/await
为可恢复 (扩展启用) 程序。
/bigobj
增加 .obj 文件中可寻址节的数目。
/C
在预处理期间保留注释。
/c
编译但不链接。
/cgthreads
指定 cl.exe 线程数以用于优化和代码生成。
/clr
生成要在公共语言运行时上运行的输出文件。
/constexpr
在 constexpr 编译时控制计算。
/D
定义常数和宏。
/diagnostics
控制诊断消息的格式。
/doc
处理 XML 文件的文档注释。
/E
将预处理器输出复制到标准输出。
/EH
指定异常处理模型。
/EP
将预处理器输出复制到标准输出。
/errorReport
已弃用。 错误报告由 WINDOWS 错误报告 (WER) 控制。
/execution-charset
设置执行字符集。
/experimental:external
启用实验性外部标头支持。
/experimental:module
启用实验性模块支持。
/experimental:preprocessor
已弃用。 启用实验性一致性预处理器支持。 使用 /Zc:preprocessor
/exportHeader
为输入参数 .ifc () 创建标头单元。
/external
允许在外部标头中控制诊断。
/F
设置堆栈大小。
/favor
生成针对特定 x64 体系结构进行优化的代码。 或者,对于 AMD64 和 EM64T 体系结构中的特定微体系结构。
/FA
创建列表文件。
/Fa
设置列表文件名。
/FC
在诊断文本中显示传递给 cl.exe 的源代码文件的完整路径。
/Fd
重命名程序数据库文件。
/Fe
重命名可执行文件。
/FI
预处理指定的包含文件。
/Fi
设置预处理输出文件名。
/Fm
创建映射文件。
/Fo
创建对象文件。
/fp
指定浮点行为。
/Fp
指定预编译头文件名。
/fpcvt
指定浮点到无符号整数转换行为。
/FR
/Fr
生成浏览器文件。 /Fr 已弃用。
/FS
强制序列化通过 PDB 文件对 PDB (的所有) 写入MSPDBSRV.EXE。
/fsanitize
启用对化光器检测(如 AddressSanitizer)的编译。
/fsanitize-coverage
为库(如 LibFuzzer)启用代码覆盖率检测的编译。
/FU
强制使用文件名,就像已传递到 指令一 #using 样。
/Fx
将插入的代码与源文件合并。
/GA
优化 Windows 应用程序的代码。
/Gd
使用 __cdecl 调用约定(仅限 x86)。
/Ge
已弃用。 激活堆栈探测。
/GF
启用字符串池。
/GH
调用挂钩函数 _pexit 。
/Gh
调用挂钩函数 _penter 。
/GL
启用全程序优化。
/Gm
已弃用。 启用最小重新生成。
/GR
启用运行时类型信息 (RTTI)。
/Gr
使用 __fastcall 调用约定(仅限 x86)。
/GS
缓冲区安全检查。
/Gs
控制堆栈探测。
/GT
支持使用静态线程本地存储区分配的数据的纤程安全。
/guard:cf
添加控制流防护安全检查。
/guard:ehcont
启用 EH 延续元数据。
/Gv
使用 __vectorcall 调用约定。 (仅限 x86 和 x64)
/Gw
启用全程序全局数据优化。
/GX
已弃用。 启用同步异常处理。 请改用 /EH 。
/Gy
启用函数级链接。
/GZ
已弃用。 与 /RTC1 相同。
/Gz
使用 __stdcall 调用约定(仅限 x86)。
/H
已弃用。 限制外部(公共)名称的长度。
/headerName
从指定的标头生成标头单元。
/headerUnit
指定在何处查找指定标头 () .ifc 单元文件的位置。
/HELP
列出编译器选项。
/homeparams
强制将传入寄存器的参数写入其在函数入口的堆栈上的位置。 此编译器选项仅适用于本机和交叉编译 (x64) 。
/hotpatch
创建可热修补的映像。
/I
在目录中搜索包含文件。
/J
更改默认的 char 类型。
/JMC
支持本机 C++ 仅我的代码调试。
/kernel
编译器和链接器将创建可在 Windows 内核中执行的二进制文件。
/LD
创建动态链接库。
/LDd
创建调试动态链接库。
/link
将指定的选项传递给 LINK。
/LN
创建 MSIL 模块。
/MD
使用 MSVCRT.lib 创建多线程 DLL。
/MDd
使用 MSVCRTD.lib 创建调试多线程 DLL。
/MP
使用多个进程编译多个源文件。
/MT
使用 LIBCMT.lib 创建多线程可执行文件。
/MTd
使用 LIBCMTD.lib 创建调试多线程可执行文件。
/nologo
取消显示登录版权标志。
/O1
创建小代码。
/O2
创建快速代码。
/Ob
控制内联展开。
/Od
禁用优化。
/Og
已弃用。 使用全局优化。
/Oi
生成内部函数。
/openmp
在 #pragma omp 源代码中启用 指令。
/Os
代码大小优先。
/Ot
代码速度优先。
/Ox
不包含 /GF 或 /Gy 的 /O2 子集。
/Oy
省略帧指针(仅限 x86)。
/P
将预处理器输出写入文件。
/permissive-
设置标准一致性模式。
/Qfast_transcendentals
生成快速先验。
/QIfist
已弃用。 当需要从浮点类型转换为整型时(仅限 x86)取消 _ftol 。
/Qimprecise_fwaits
移除 fwait 块中的 try 命令。
/QIntel-jcc-erratum
缓解 Intel JCC 错误微代码更新对性能的影响。
/Qpar (自动并行化程序)
对标记有 #pragma loop() 指令的循环启用自动并行化。
/Qsafe_fp_loads
将整数移动指令用于浮点值,并禁用特定浮点加载优化。
/Qspectre
指定编译器生成指令以缓解某些 Spectre 变体 1 安全漏洞。
/Qspectre-load
指定编译器生成序列化指令,以基于负载指令缓解 Spectre 安全漏洞。
/Qspectre-load-cf
指定编译器生成序列化指令,以根据加载内存的控制流指令来缓解 Spectre 安全漏洞。
(自动矢量化程序报告级别)
启用自动矢量化的报告级别。
/reference
使用命名模块 IFC。
/RTC
启用运行时错误检查。
/sdl
启用更多安全功能和警告。
/showIncludes
在编译期间显示包含文件的列表。
/source-charset
设置源字符集。
/sourceDependencies
列出所有源级依赖项。
/sourceDependencies:directives
列出模块和标头单元依赖项。
/std
C++ 标准版本兼容性选择器。
/Tc
指定 C 源文件。
/TC
指定所有源文件都是 C。
/Tp
指定 C++ 源文件。
/TP
指定所有源文件都是 C++。
/translateInclude
将 #include 视为 import 。
/U
移除预定义宏。
/u
移除所有的预定义宏。
/utf-8
将源和执行字符集设置为 UTF-8。
/V
已弃用。 设置 .obj 文件版本字符串。
/validate-charset
仅验证 UTF-8 文件是否兼容字符。
/vd
取消或启用隐藏的 vtordisp 类成员。
/vmb
对指向成员的指针使用最佳的基。
/vmg
对指向成员的指针使用完全一般性。
/vmm
声明多重继承。
/vms
声明单一继承。
/vmv
声明虚拟继承。
/volatile
选择如何解释 volatile 关键字。
/w
禁用所有警告。
, /W1 , /W2 , /W3 , /W4
设置要输出的警告级别。
, /w2 , /w3 , /w4
针对指定的警告设置警告级别。
/Wall
启用所有警告,包括默认情况下禁用的警告。
/wd
禁用指定的警告。
/we
将指定的警告视为错误。
/WL
在从命令行编译 C++ 源代码时启用错误消息和警告消息的单行诊断。
/wo
仅显示指定的警告一次。
/Wp64
已过时。 检测 64 位可移植性问题。
/Wv
不显示编辑器的指定版本后引入的警告。
/WX
将所有警告视为错误。
/X
忽略标准包含目录。
/Y-
忽略当前生成中的所有其他预编译头编译器选项。
/Yc
创建预编译头文件。
/Yd
已弃用。 将完整的调试信息放在所有对象文件中。 请改用 /Zi 。
/Yl
创建调试库时插入 PCH 引用
/Yu
在生成期间使用预编译头文件。
/Z7
生成 C 7.0 兼容的调试信息。
/Za
禁用语言扩展。
/Zc
指定标准行为。
/Ze
已弃用。 启用语言扩展。
/Zf
在并行生成中改善 PDB 生成时间。
/Zg
在 2015 Visual Studio中删除。 生成函数原型。
/ZH
为调试信息中的校验和指定 MD5、SHA-1 或 SHA-256。
/ZI
将调试信息包含在与“编辑并继续”兼容的程序数据库中。
/Zi
生成完整的调试信息。
/Zl
从 .obj 文件中移除默认库名(仅限 x86)。
/Zm
指定预编译头内存分配限制。
/Zo
为优化的代码生成增强的调试信息。
/Zp
封装结构成员。
/Zs
只检查语法。
/ZW
生成一个输出文件,该文件在 Windows 运行时中运行。
|