Compiler Options Listed by Category

12 篇文章 0 订阅

https://msdn.microsoft.com/zh-cn/library/9s7c9wdw.aspx

https://msdn.microsoft.com/zh-cn/library/fwkeyyhe.aspx

https://msdn.microsoft.com/zh-cn/library/19z1t1wy.aspx

 

This article contains a categorical list of compiler options.For an alphabetical list, see 按字母顺序列出的编译器选项.

Optimization

Option

Purpose

/O1

Creates small code.

/O2

Creates fast code.

/Ob

Controls inline expansion.

/Od

Disables optimization.

/Og

Uses global optimizations.

/Oi

Generates intrinsic functions.

/Os

Favors small code.

/Ot

Favors fast code.

/Ox

Uses maximum optimization (/Ob2gity /Gs).

/Oy

Omits frame pointer.(x86 only)

/favor

Produces code that is optimized for a specified architecture, or for a range of architectures.

Code Generation

Option

Purpose

/arch

Use SSE or SSE2 instructions in code generation.(x86 only)

/clr

Produces an output file to run on the common language runtime.

/EH

Specifies the model of exception handling.

/fp

Specifies floating-point behavior.

/GA

Optimizes for Windows applications.

/Gd

Uses the __cdecl calling convention.(x86 only)

/Ge

Activates stack probes.

/GF

Enables string pooling.

/Gh

Calls hook function _penter.

/GH

Calls hook function _pexit.

/GL

Enables whole program optimization.

/Gm

Enables minimal rebuild.

/GR

Enables run-time type information (RTTI).

/Gr

Uses the __fastcall calling convention.(x86 only)

/GS

Checks buffer security.

/Gs

Controls stack probes.

/GT

Supports fiber safety for data allocated by using static thread-local storage.

/guard:cf

Adds control flow guard security checks.

/Gv

Uses the __vectorcall calling convention.(x86 and x64 only)

/Gw

Enables whole-program global data optimization.

/GX

Enables synchronous exception handling.

/Gy

Enables function-level linking.

/GZ

Enables fast checks.(Same as /RTC1)

/Gz

Uses the __stdcall calling convention.(x86 only)

/homeparams

Forces parameters passed in registers to be written to their locations on the stack upon function entry.This compiler option is only for the x64 compilers (native and cross compile).

/hotpatch

Creates a hotpatchable image.

/Qfast_transcendentals

Generates fast transcendentals.

QIfist

Suppresses the call of the helper function _ftol when a conversion from a floating-point type to an integral type is required.(x86 only)

/Qimprecise_fwaits

Removes fwait commands inside try blocks.

/Qpar

Enables automatic parallelization of loops.

/Qpar-report

Enables reporting levels for automatic parallelization.

/Qsafe_fp_loads

Uses integer move instructions for floating-point values and disables certain floating point load optimizations.

/Qvec-report(自动矢量化程序报告等级)

Enables reporting levels for automatic vectorization.

/RTC

Enables run-time error checking.

/volatile

Selects how the volatile keyword is interpreted.

Output Files

Option

Purpose

/doc

Processes documentation comments to an XML file.

/FA

Configures an assembly listing file.

/Fa

Creates an assembly listing file.

/Fd

Renames program database file.

/Fe

Renames the executable file.

/Fi

Specifies the preprocessed output file name.

/Fm

Creates a mapfile.

/Fo

Creates an object file.

/Fp

Specifies a precompiled header file name.

/FR /Fr

Generates browser files.

Preprocessor

Option

Purpose

/AI

Specifies a directory to search to resolve file references passed to the #using directive.

/C

Preserves comments during preprocessing.

/D

Defines constants and macros.

/E

Copies preprocessor output to standard output.

/EP

Copies preprocessor output to standard output.

/FI

Preprocesses the specified include file.

/FU

Forces the use of a file name, as if it had been passed to the #using directive.

/Fx

Merges injected code with the source file.

/I

Searches a directory for include files.

/P

Writes preprocessor output to a file.

/U

Removes a predefined macro.

/u

Removes all predefined macros.

/X

Ignores the standard include directory.

Language

Option

Purpose

/openmp

Enables #pragma omp in source code.

/vd

Suppresses or enables hidden vtordisp class members.

/vmb

Uses best base for pointers to members.

/vmg

Uses full generality for pointers to members.

/vmm

Declares multiple inheritance.

/vms

Declares single inheritance.

/vmv

Declares virtual inheritance.

/Z7

Generates C 7.0–compatible debugging information.

/Za

Disables language extensions.

/Zc

Specifies standard behavior under /Ze.

/Ze

Enables language extensions.

/Zg

Generates function prototypes.

/ZI

Includes debug information in a program database compatible with Edit and Continue.(x86 only)

/Zi

Generates complete debugging information.

/Zl

Removes the default library name from the .obj file.

/Zp n

Packs structure members.

/Zs

Checks syntax only.

/ZW

Produces an output file to run on the Windows Runtime.

Linking

Option

Purpose

/F

Sets stack size.

/LD

Creates a dynamic-link library.

/LDd

Creates a debug dynamic-link library.

/link

Passes the specified option to LINK.

/LN

Creates an MSIL module.

/MD

Compiles to create a multithreaded DLL, by using MSVCRT.lib.

/MDd

Compiles to create a debug multithreaded DLL, by using MSVCRTD.lib.

/MT

Compiles to create a multithreaded executable file, by using LIBCMT.lib.

/MTd

Compiles to create a debug multithreaded executable file, by using LIBCMTD.lib.

Precompiled Header

Option

Purpose

/Y-

Ignores all other precompiled-header compiler options in the current build.

/Yc

Creates a precompiled header file.

/Yd

Places complete debugging information in all object files.

/Yu

Uses a precompiled header file during build.

Miscellaneous

Option

Purpose

/?

Lists the compiler options.

@

Specifies a response file.

/analyze

Enables code analysis.

/bigobj

Increases the number of addressable sections in an .obj file.

/c

Compiles without linking.

/cgthreads

Specifies number of cl.exe threads to use for optimization and code generation.

/errorReport

Enables you to provide internal compiler error (ICE) information directly to the Visual C++ team.

/FC

Displays the full path of source code files passed to cl.exe in diagnostic text.

/FS

Forces writes to the program database (PDB) file to be serialized through MSPDBSRV.EXE.

/H

Restricts the length of external (public) names.

/HELP

Lists the compiler options.

/J

Changes the default char type.

/kernel

The compiler and linker will create a binary that can be executed in the Windows kernel.

/MP

Builds multiple source files concurrently.

/nologo

Suppresses display of sign-on banner.

/sdl

Enables additional security features and warnings.

/showIncludes

Displays a list of all include files during compilation.

/Tc /TC

Specifies a C source file.

/Tp /TP

Specifies a C++ source file.

/V

Sets the version string.

/Wall

Enables all warnings, including warnings that are disabled by default.

/W

Sets warning level.

/w

Disables all warnings.

/WL

Enables one-line diagnostics for error and warning messages when compiling C++ source code from the command line.

/Wp64

Detects 64-bit portability problems.

/Yd

Places complete debugging information in all object files.

/Yl

Injects a PCH reference when creating a debug library.

/Zm

Specifies the precompiled header memory allocation limit.


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值