C++:VC++常用的编译参数

3 篇文章 0 订阅
/Zc:inline所有声明为 inline 的函数都必须具有在同一转换单元中(如果使用了这些函数)可用的定义
/Zm850指定预编译头的内存分配限额为850M
/Zo编译器开关为优化代码生成增强的调试信息
/Zp8针对 8 字节边界将结构打包
/Zl采用支持“编辑并继续”功能的格式生成程序数据库(如上所述)。 如果想使用“编辑并继续”调试,则必须使用此选项。 因为大多数优化与“编辑并继续”不兼容,所以使用 /ZI 会禁用代码中的所有 #pragma optimize 语句。/ZI 仅可在面向 x86 的编译器中使用;此编译器选项不能在面向 x64 或 ARM 处理器的编译器中使用。
/Zi生成一个程序数据库(PDB),其中包含供调试器使用的类型信息和符号化调试信息。 符号化调试信息包含变量的名称和类型以及函数和行号。/Zi 不影响优化。 但是,/Zi 的确暗示了 /debug
/Z7生成包含用于调试器的完整符号调试信息的 .obj 文件。 符号化调试信息包含变量的名称和类型以及函数和行号。 不生成任何 .pdb 文件。
/Zccompiler options to specify standard or Microsoft-specific compiler behavior.
  
/Oi仅作为对编译器的请求,用于将某些函数调用替换为内部函数;为产生更好的性能,编译器可能会调用函数(而不会将该函数调用替换为内部函数)
/Ox编译器选项还支持命名返回值优化,此优化可消除基于堆栈的返回值的复制构造函数和析构函数
/Ot代码速度优先
/Ob2允许对标记为 inline、__inline 或 __forceinline 的函数或是编译器选择的任何其他函数进行扩展
 /Gd, /Gr, /Gv, /Gz (Calling Convention)
/c代码速度优先
/Gy启用函数级链接
/GR- 将禁用运行时类型信息                   /GR:   bUseRTTI = true
/GS(Buffer Security Check)
/Gm(Enable Minimal Rebuild)  /Gm is deprecated
/GF(Eliminate Duplicate Strings)
/Gdthe default setting, specifies the __cdecl calling convention for all functions except C++ member functions and functions that are marked __stdcall, __fastcall, or __vectorcall.
/Grspecifies the __fastcall calling convention for all functions except C++ member functions, functions named main, and functions that are marked __cdecl, __stdcall, or __vectorcall.
/Gzspecifies the __stdcall calling convention for all functions except C++ member functions, functions named main, and functions that are marked __cdecl, __fastcall, or __vectorcall.
/Gvspecifies the __vectorcall calling convention for all functions except C++ member functions, functions named main, functions with a vararg variable argument list, or functions that are marked with a conflicting __cdecl, __stdcall, or __fastcall attribute.
  
/D/D_CRT_STDIO_LEGACY_WIDE_SPECIFIERS=1
/D_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS=1
/D_WINDLL
/nologo取消显示启动版权标志
/errorReport:prompt报告内部编译器错误,当您收到内部编译器错误时,提示您发送报告。
/EHsc如果与 s (/EHsc) 一起使用,则仅捕获 C++ 异常并通知编译器假定声明为 extern "C" 的函数从未引发 C++ 异常
 /Tc, /Tp, /TC, /TP (Specify Source File Type)
/TP 指定 filename 为 C++ 源文件,即使它没有 .cpp 或 .cxx 扩展名
  
/source-charset:utf-8 
/execution-charset:utf-8 
  
/MTMulti-threading
/MTdMulti-threading debug
/MDMulti-threading DLL
/MDdMulti-threading DLL debug
/MD使用特定于多线程和 DLL 的运行库版本,并使编译器将库名 MSVCRT.lib 放入 .obj 文件中
  
/wd n指定禁用编译器警告的选项。/wd4819  /wd4463  /wd4838  /w44668
/W4指定编译器生成警告的最高等级
  
/FI(命名强制包含文件)
/Fp命名 .Pch 文件)
/Fo(对象文件名
/Fd选项被设置为创建一个名为 project.PDB 的 PDB. Specifies a file name for the program database (PDB) file created by /Z7, /Zi, /ZI (Debug Information Format).
  
/Yu(使用预编译的头文件)
/bigobj 增加 .Obj 文件中的节数
/fp:fast过放松优化浮点运算的规则可创建最快的代码。 这使编译器能够优化浮点代码的速度,但会牺牲准确性和正确性。

参考文档

C++中debug和release的区别 . 转载

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值