【发布时间】:2020-05-23 06:20:37
【问题描述】:
我有 a code 在 VS2019 版本 x86 模式下工作正常,但在调试模式下不行。有没有办法在命令行中使用发布模式功能?例如 CL 或 link.exe 的选项。 CL 命令行语法是
CL [选项...] 文件... [选项 |文件]... [lib...] [@command-file] [/link link-opt...]
以下是 MSVC 编译器选项列表:
MSVC Compiler Options
有一些优化选项,例如 /O1 /O2,但它们不会产生与 VS 版本构建相同的结果。我在寻找错误的东西吗?提前感谢您的帮助。
更新
我发现我的代码的正确选项是 /MD 用于运行时库设置。因此,在命令提示符下使用以下行,复制了发布模式的结果:
>cl /MD app.cpp
【问题讨论】:
-
如果你的代码不能在调试模式下工作,那可能是某个地方的未定义行为,并且通过以另一种方式编译来规避问题是一个非常糟糕的主意。发布模式不会修复错误,而只是通过取消运行时检查使问题变得更糟。
-
我同意你的看法。我知道我的代码需要一些改进并且存在内存访问问题,但我认为 CL 会自动优化它,我只是想看看我是否可以在命令提示符下重现发布模式的结果。
标签: c++ visual-c++ visual-studio-2019 cl