• 按类别列出的编译器选项


    http://technet.microsoft.com/zh-cn/library/19z1t1wy(v=vs.90)

    优化

    选项

    用途

    /O1

    创建小代码

    /O2

    创建快速代码

    /Ob

    控制内联展开

    /Od

    禁用优化

    /Og

    使用全局优化

    /Oi

    生成内部函数

    /Os

    代码大小优先

    /Ot

    代码速度优先

    /Ox

    使用最大优化 (/Ob2gity /Gs)

    /Oy

    省略帧指针(仅限 x86)

    代码生成

    选项

    用途

    /arch

    使用 SSE 或 SSE2 指令生成代码(仅限 x86)

    /bigobj

    增加 .obj 文件中的可寻址节数。

    /clr

    生成要在公共语言运行库上运行的输出文件

    /EH

    指定异常处理模型

    /favor

    生成为特定 x64 结构或为 AMD64 和 64 位内存扩展技术 (EM64T) 结构中的特定宏结构进行了优化的代码。

    /fp

    指定浮点行为。

    /G1

    针对 Itanium 处理器进行优化。仅在 IPF 跨平台编译器或 IPF 本机编译器中可用。

    /G2

    针对 Itanium2 处理器进行优化。仅在 IPF 跨平台编译器或 IPF 本机编译器中可用。

    /Gd

    使用 __cdecl 调用约定(仅限 x86)

    /Ge

    激活堆栈探测

    /GF

    启用字符串池

    /Gh

    调用挂钩函数 _penter

    /GH

    调用挂钩函数 _pexit

    /GL

    启用全程序优化

    /Gm

    启用最小重新生成

    /GR

    启用运行时类型信息 (RTTI)

    /Gr

    使用 __fastcall 调用约定(仅限 x86)

    /Gs

    控制堆栈探测

    /GT

    支持使用静态线程本地存储区分配的数据的纤程安全

    /GX

    启用同步异常处理

    /Gy

    启用函数级链接

    /Gz

    使用 __stdcall 调用约定(仅限 x86)

    /MD

    使用 MSVCRT.lib 创建多线程 DLL

    /MDd

    使用 MSVCRTD.lib 创建调试多线程 DLL

    /MT

    使用 LIBCMT.lib 创建多线程可执行文件

    /MTd

    使用 LIBCMTD.lib 创建调试多线程可执行文件

    /Qfast_transcendentals

    生成快速先验。

    /Qimprecise_fwaits

    移除 try 块中的 fwait 命令。

    输出文件

    选项

    用途

    /FA

    创建列表文件并设置列表文件名

    /Fa

    创建列表文件并设置列表文件名

    /Fd

    重命名程序数据库文件

    /Fe

    重命名可执行文件

    /Fm

    创建映射文件

    /Fo

    创建对象文件

    /Fp

    指定预编译头文件名

    /FR/Fr

    生成浏览器文件

    /Fx

    将插入的代码与源文件合并

    调试

    选项

    用途

    /GS

    缓冲区安全检查

    /GZ

    /RTC1 相同

    /homeparams

    强制在进入函数时将传入寄存器中的参数写入其在堆栈中的位置。 此编译器选项只可用于 x64 编译器(本机编译和跨平台编译)。

    /RTC

    启用运行时错误检查

    /Wp64

    检测 64 位可移植性问题

    /Yd

    将完整的调试信息放在所有对象文件中

    /Yl

    创建调试库时插入 PCH 引用

    /Z7

    生成与 C 7.0 兼容的调试信息

    /Zi

    生成完整的调试信息

    /ZI

    将调试信息包含在与“编辑并继续”兼容的程序数据库中(仅限 x86)

    /Zx

    生成可调试的优化代码。仅在 IPF 跨平台编译器或 IPF 本机编译器中可用。

    预处理器

    选项

    用途

    /AI

    指定在解析传递到 #using 指令的文件引用时搜索的目录

    /C

    在预处理期间保留注释

    /D

    定义常数和宏

    /E

    将预处理器输出复制到标准输出

    /EP

    将预处理器输出复制到标准输出

    /Fl

    预处理指定的包含文件

    /FU

    强制使用文件名,就像它已被传递到 #using 指令一样

    /I

    在目录中搜索包含文件

    /P

    将预处理器输出写入文件

    /U

    移除预定义宏

    /u

    移除所有的预定义宏

    /X

    忽略标准包含目录

    语言

    选项

    用途

    /openmp

    在源代码中启用 #pragma omp

    /vd

    取消或启用隐藏的 vtordisp 类成员

    /vmb

    对指向成员的指针使用最佳的基

    /vmg

    对指向成员的指针使用完全一般性

    /vmm

    声明多重继承

    /vms

    声明单一继承

    /vmv

    声明虚拟继承

    /Za

    禁用语言扩展

    /Zc

    /Ze 下指定标准行为

    /Ze

    启用语言扩展

    /Zg

    生成函数原型

    /Zl

    从 .obj 文件中移除默认库名

    /Zpn

    封装结构成员

    /Zs

    只检查语法

    链接

    选项

    用途

    /F

    设置堆栈大小

    /LD

    创建动态链接库

    /LDd

    创建调试动态链接库

    /LN

    创建 MSIL 模块。

    /link

    将指定的选项传递给 LINK

    /MD

    使用 MSVCRT.lib 编译以创建多线程 DLL

    /MDd

    使用 MSVCRTD.lib 编译以创建调试多线程 DLL

    /MT

    使用 LIBCMT.lib 编译以创建多线程可执行文件

    /MTd

    使用 LIBCMTD.lib 编译以创建调试多线程可执行文件

    预编译头

    选项

    用途

    /Y-

    忽略当前生成中的所有其他预编译头编译器选项

    /Yc

    创建预编译头文件

    /Yd

    将完整的调试信息放在所有对象文件中

    /Yu

    在生成期间使用预编译头文件

    杂项

    选项

    用途

    /?

    列出编译器选项

    @

    指定响应文件

    /analyze

    启用代码分析。

    /c

    编译但不链接

    /doc

    处理 XML 文件的文档注释。

    /errorReport

    允许您将内部编译器错误 (ICE) 信息直接提供给 Visual C++ 团队。

    /FC

    在诊断文本中显示传递给 cl.exe 的源代码文件的完整路径。

    /H

    限制外部(公共)名称的长度

    /HELP

    列出编译器选项

    /hotpatch

    创建可热修补的映像。

    /J

    更改默认的 char 类型

    /MP

    同时生成多个源文件。

    /nologo

    取消显示登录版权标志

    QIfist

    当需要从浮点类型转换为整型时取消调用 Helper 函数 _ftol(仅限 x86)

    /QIPF_B

    根据 B CPU 单步执行的勘误表,不生成给出异常结果的指令序列。 (仅限 IPF)

    /QIPF_C

    根据 C CPU 单步执行的勘误表,不生成给出异常结果的指令序列。 (仅限 IPF)

    /QIPF_fr32

    不使用高 96 位浮点寄存器。 (仅限 IPF)

    /QIPF_noPIC

    生成具有位置相关代码的映像(仅限 IPF)。

    /QIPF_restrict_plabels

    增强不在运行时创建函数的程序的性能。 (仅限 IPF)

    /showIncludes

    在编译期间显示所有包含文件的列表

    /Tc/TC

    指定 C 源文件

    /Tp/TP

    指定 C++ 源文件

    /V

    设置版本字符串

    /Wall

    启用所有警告,包括默认情况下禁用的警告

    /W

    设置警告等级

    /w

    禁用所有警告

    /WL

    在从命令行编译 C++ 源代码时启用错误信息和警告消息的单行诊断

    /Zm

    指定预编译头内存分配限制

  • 相关阅读:
    python 数字格式化
    Python字符串
    Nginx 深入-动静分离, 静态资源css, js 前端请求404问题
    Spring colud gateway 源码小计
    Nginx 场景应用
    Nginx valid_referer 防盗链
    Nginx 基础
    JNI 从零开始一次DEMO调用 IDEA 2018.2.5 + visual studio 2019
    Bitmap 图片说明
    HP激光打印机解密
  • 原文地址:https://www.cnblogs.com/daidaigua/p/2475634.html
Copyright © 2020-2023  润新知