vc编译开关

 

. 微软C/C++ 编译器选项和跨平台开发所需要的编译开关

 

CL   命令行使用下列语法:  
   
  CL   [option...]   file...   [option   |   file]...   [lib...]   [@command-file]   [/link   link-opt...]  
   
 
下表说明CL   命令的输入项意义    
   
  option  
一个或多个   CL   选项。请注意,所有选项都应用于所有指定的源文件。选项是由一个正斜杠   (/)   或一个短划线   (–)   指定的。如果某个选项带有参数,则该选项的说明指定在选项和参数之间是否允许有空格。选项名(/HELP   选项除外)区分大小写。有关更多信息,请参阅   CL   选项的顺序。      
   
  file  
一个或多个源文件、.obj   文件或库的名称。CL   编译源文件并将   .obj   文件和库的名称传递给链接器。有关更多信息,请参阅   CL   文件名语法。      
   
  lib  
一个或多个库名。CL   将这些名称传递给链接器。    
   
  command-file  
包含多个选项和文件名的文件。有关更多信息,请参阅   CL   命令文件。    
   
  link-opt  
一个或多个链接器选项。CL   将这些选项传递给链接器。    
   
 
您可以指定任意数目的选项、文件名和库名,条件是命令行上的字符数不超过   1024,该限制是操作系统指定的。


(编译开关参数的详细说明)

-优化-

 

/O1

 最小化空间

 

/Op[-]

 改善浮点数一致性

 

/O2

 最大化速度

 

/Os

 优选代码空间

 

/Oa

 假设没有别名

 

/Ot

 优选代码速度

 

/ Ob

 内联展开(默认 n=0

 

/Ow

 假设交叉函数别名

 

/Od

 禁用优化(默认值)

 

/Ox

 最大化选项。(/Ogityb2 /Gs)

 

/Og

 启用全局优化

 

/Oy[-]

 启用框架指针省略

 

/Oi

 启用内部函数

 

-代码生成-

 

/G3

  80386 进行优化

 

/GH

 启用 _pexit 函数调用

 

/G4

  80486 进行优化

 

/GR[-]

 启用 C++ RTTI

 

/G5

  Pentium 进行优化

 

/GX[-]

 启用 C++ EH(与 /EHsc 相同)

 

/G6

  PProP-IIP-III 进行优化

 

/EHs

 启用 C++ EH(无 SEH 异常)

 

/GB

 为混合模型进行优化(默认)

 

/EHa

 启用 C++ EHw/ SEH 异常)

 

/Gd

 __cdecl 调用约定

 

/EHc

 外部“C”默认为 nothrow

 

/Gr

 __fastcall 调用约定

 

/GT

 生成纤维安全 TLS 访问

 

/Gz

 __stdcall 调用约定

 

/Gm[-]

 启用最小重新生成

 

/GA

  Windows 应用程序进行优化

 

/GL[-]

 启用链接时代码生成

 

/Gf

 启用字符串池

 

/QIfdiv[-]

 启用 Pentium FDIV 修复

 

/GF

 启用只读字符串池 

 

/QI 0f [-]

 启用 Pentium 0x 0f 修复

 

/Gy

 分隔链接器函数

 

/QIfist[-]

 使用 FIST 而不是 ftol()

 

/GZ

 启用堆栈检查 (/RTCs)

 

/RTC1

 启用快速检查 (/RTCsu)

 

/Ge

 对所有函数强制堆栈检查

 

/RTCc

 转换为较小的类型检查

 

/Gs[num]             

 控制堆栈检查调用

 

/RTCs

 堆栈帧运行时检查

 

/GS

 启用安全检查

 

/RTCu

 未初始化的本地用法检查

 

/Gh

 启用 _penter 函数调用

 

/clr[:noAssembly]

 为公共语言运行时库编译noAssembly - 不产生程序集

 

-输出文件-

 

/Fa[file]          

 命名程序集列表文件

 

/Fo

 命名对象文件

 

/FA[sc]                

 配置程序集列表

 

/Fp

 命名预编译头文件

 

/Fd[file]           

 命名 .PDB 文件 

 

/Fr[file]

 命名源浏览器文件

 

/Fe

 命名可执行文件

 

/FR[file]

 命名扩展 .SBR 文件

 

/Fm[file]

 命名映射文件

 

-预处理器-

 

/AI

 

 添加到程序集搜索路径

 

/Fx

 将插入的代码合并到文件

 

/FU

 强制使用程序集/模块

 

/FI

 命名强制包含文件

 

/C

 不抽出注释

 

/U

 移除预定义宏

 

/D{=|#}

 定义宏

 

/u

 移除所有预定义宏

 

/E

 预处理到 stdout

 

/I

 

 添加到包含搜索路径

 

/EP

 预处理到 stdout,没有 #line

 

/X

 忽略标准位置

 

/P

 预处理到文件

 

-语言-

 

/Zi

 启用调试信息

 

/Zl

 忽略 .OBJ 中的默认库名

 

/ZI

 启用编辑并继续调试信息 

 

/Zg

 生成函数原型

 

/Z7

 启用旧式调试信息 

 

/Zs

 只进行语法检查

 

/Zd

 仅有行号调试信息

 

/vd{0|1}

 禁用/启用 vtordisp

 

/Zp[n] 

  n 字节边界上包装结构

 

/vm

 指向成员的指针类型

 

/Za

 禁用扩展(暗指 /Op

 

/noBool

 禁用“bool”关键字

 

/Ze

 启用扩展(默认)

 

/Zc:arg1[,arg2]

 C++ 语言一致性,这里的参数可以是:forScope - 对范围规则强制使用标准 C++wchar_t - wchar_t 是本机类型,不是 typedef

 

- 杂项 -

 

@

 选项响应文件

 

/wo

 发出一次警告 n

 

/?, /help

 打印此帮助消息

 

/w

  n 设置警告等级 1-4

 

/c

 只编译,不链接 

 

/W

 设置警告等级(默认 n=1

 

/H

 最大外部名称长度

 

/Wall

 启用所有警告

 

/J

 默认 char 类型是 unsigned

 

/Wp64

 启用 64 位端口定位警告

 

/nologo

 取消显示版权消息

 

/WX

 将警告视为错误

 

/showIncludes

 显示包含文件名

 

/WL

 启用单行诊断

 

/Tc

 将文件编译为 .c

 

/Yc[file]

 创建 .PCH 文件

 

/Tp

 将文件编译为 .cpp

 

/Yd

 将调试信息放在每个 .OBJ

 

/TC

 将所有文件编译为 .c

 

/Yl[sym]

 为调试库插入 .PCH 引用

 

/TP

 将所有文件编译为 .cpp

 

/Yu[file]

 使用 .PCH 文件

 

/V

 设置版本字符串

 

/YX[file]

 自动 .PCH

 

/w

 禁用所有警告

 

/Y-

 禁用所有 PCH 选项

 

/wd

 禁用警告 n

 

/Zm

 最大内存分配(默认为 %

 

/we

 将警告 n 视为错误

 

-链接-

 

/MD

  MSVCRT.LIB 链接

 

/MDd

  MSVCRTD.LIB 调试库链接

 

/ML

  LIBC.LIB 链接

 

/MLd

  LIBCD.LIB 调试库链接

 

/MT

  LIBCMT.LIB 链接

 

/MTd

  LIBCMTD.LIB 调试库链接

 

/LD

 创建 .DLL

 

/F

 设置堆栈大小

 

/LDd

 创建 .DLL 调试库

 

/link

 [链接器选项和库]

 

 

 

 Machine      Producer           Operating system              C-Compiler    recognized through

 AMIGA        Commodore          AMIGA-OS (AMIGADOS)           GNU           amiga or AMIGA, __GNUC__, maybe MC68000 or AMIGA3000

 any          any                UNIX                          GNU           unix, __GNUC__, ...

 any          any                UNIX                          CC            unix, ...

 Amiga 3000   Commodore          Amiga UNIX 2.1 SVR4.0         GNU           unix, __unix__, AMIX, __AMIX__, __svr4__, m68k, __m68k__, __motorola__, __GNUC__

 SUN-3        Sun                SUN-OS3 (UNIX BSD 4.2)        GNU           sun, unix, mc68020, __GNUC__

 SUN-3        Sun                SUN-OS4 (UNIX SUNOS 4.1)      GNU           sun, unix, mc68020, __GNUC__

 SUN-386      Sun                SUN-OS4 (UNIX SUNOS 4.0)      GNU           sun, unix, sun386, i386, __GNUC__

 SUN-386      Sun                SUN-OS4 (UNIX SUNOS 4.0)      CC            sun, unix, sun386, i386

 SUN-4        Sun                SUN-OS4 (UNIX SUNOS 4.1)      GNU           sun, unix, sparc, __GNUC__

 SUN-4        Sun                SUN-OS4 (UNIX SUNOS 4.1)      CC            sun, unix, sparc

 SUN-4        Sun                SUN-OS5 (UNIX Solaris)        GCC           sun, unix, sparc, __GNUC__

 UltraSparc   Sun                Solaris 7 (UNIX SUNOS 5.7)    CC            sun, unix, __sparc, __sparcv9

 UltraSparc   Sun                Solaris 7 (UNIX SUNOS 5.7)    GCC           sun, unix, __sparc, __arch64__, __GNUC__

 IBM-PC/386   any                SUN-OS5 (UNIX Solaris)        GCC           sun, unix, __svr4__, i386, __GNUC__

 HP9000-300   Hewlett-Packard    NetBSD 0.9 (UNIX BSD 4.3)     GNU           unix, __NetBSD__, mc68000, __GNUC__

 HP9000-300   Hewlett-Packard    HP-UX 8.0 (UNIX SYS V)        GNU           [__]hpux, [__]unix, [__]hp9000s300, mc68000, __GNUC__

 HP9000-800   Hewlett-Packard    HP-UX 8.0 (UNIX SYS V)        GNU           [__]hpux, [__]unix, [__]hp9000s800

 IRIS         Silicon Graphics   IRIX (UNIX SYS V 3.2)         GNU           unix, SVR3, mips, sgi, __GNUC__

 IRIS         Silicon Graphics   IRIX (UNIX SYS V)             cc -ansi      [__]unix, [__]SVR3, [__]mips, [__]sgi

 IRIS         Silicon Graphics   IRIX 5 (UNIX SYS V 4)         GNU           [__]unix, [__]SYSTYPE_SVR4, [__]mips, [__]host_mips, [__]MIPSEB, [__]sgi, __DSO__, [__]_MODERN_C, __GNUC__

 DECstation 5000                 RISC/OS (Ultrix V 4.2A )        GNU           unix, [__]mips, [__]ultrix

 DG-UX 88k    Data General       DG/UX                         GNU           unix, m88000, DGUX

 DEC Alpha    DEC                OSF/1 1.3                     cc            [unix,] __unix__, __osf__, __alpha

 DEC Alpha    DEC                OSF/1 1.3                     GNU           unix, __unix__, __osf__, __alpha, __alpha__, _LONGLONG

 Apple MacII  Apple              A/UX (UNIX SYS V 2)           GNU           [__]unix, [__]AUX, [__]macII, [__]m68k, mc68020, mc68881, __GNUC__

 NeXT         NeXT               NeXTstep 3.1 (UNIX)           cc            NeXT, m68k; NEXTAPP for NeXTstep Application

 PowerPC      Apple              Mach 3.0 + MkLinux            GNU           unix, __powerpc__, __PPC__, _ARCH_PPC, _CALL_SYSV, __ELF__, __linux__

 PowerPC      Apple              Mach + Rhapsody               cc            __MACH__, __APPLE__, __ppc[__], __GNUC__, __APPLE_CC__

 PowerPC      Apple              Mach + MacOS X                cc            __MACH__, __APPLE__, __ppc__, __GNUC__, __APPLE_CC__

 Sequent      Sequent            PTX 3.2.0 V2.1.0 i386 (SYS V) GNU           unix, i386, _SEQUENT_, __GNUC__

 Sequent      Sequent            PTX V 4.1.3                     GNU           unix, i386, _SEQUENT_, __svr4__, __GNUC__

 Convex C2    Convex             ConvexOS 10.1                 GNU           __convex__, __GNUC__

 IBM RS/6000  IBM                AIX 3.2                       GNU           _AIX, _AIX32, _IBMR2, __CHAR_UNSIGNED__, __GNUC__

 IBM-PC/386   any                LINUX (free UNIX)             GNU           unix, linux, i386, __GNUC__

 IBM-PC/386   any                LINUX (free UNIX)             Intel 5.0     __unix__, __linux__, __INTEL_COMPILER, __ICC, __USLC__

 IBM-PC/386   any                386BSD 0.1 (UNIX BSD 4.2)     GNU           unix, __386BSD__, i386, __GNUC__

 IBM-PC/386   any                NetBSD 0.9 (UNIX BSD 4.3)     GNU           unix, __NetBSD__, i386, __GNUC__

 IBM-PC/386   any                FreeBSD 4.0 (UNIX BSD 4.4)    GNU           unix, __FreeBSD__, i386, __GNUC__

 IBM-PC/386   any                EMX 0.9c (UNIXlike on OS/2)   GNU           [unix,] i386, __GNUC__, __EMX__

 IBM-PC/386   any                Cygwin32 on WinNT/Win95       GNU           _WIN32, __WINNT__, __CYGWIN32__, __POSIX__, _X86_, i386, __GNUC__

 IBM-PC/386   any                Mingw32 on WinNT/Win95        GNU           _WIN32, __WINNT__, __MINGW32__, _X86_, i386, __GNUC__

 IBM-PC/386   any                WinNT/Win95                   MSVC4.0,5.0   _WIN32, _M_IX86, _MSC_VER

 IBM-PC/386   any                WinNT/Win95                   Borland 5.0   __WIN32__, _M_IX86, __TURBOC__, __BORLANDC__

 IBM-PC/386   any                WinNT/Win95 and Cygwin32      GNU           _WIN32, __WINNT__, __CYGWIN32__, __POSIX__, __i386__, _X86_, __GNUC__

 IBM-PC/586   any                BeOS 5                        GNU           __BEOS__, __INTEL__, __i386__, _X86_, __GNUC__

 IBM-PC/586   any                HP NUE/ski, Linux             GNU           unix, linux, __ia64[__], __GNUC__, __LP64__

 RM400        Siemens-Nixdorf    SINIX-N 5.42                   c 89           unix, mips, MIPSEB, host_mips, sinix, SNI, _XPG_IV

 Acorn        Risc PC            RISC OS 3.x                   GNU           [__]arm, [__]riscos, __GNUC__

 Acorn        Risc PC            RISC OS 3.x                   Norcroft      [__]arm, [__]riscos

 APPLE IIGS   Apple              ??                            ??

Thursday

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值