我对强大的定义是定制能力。
我熟悉 gcc
我想试试 MSVC。所以,我在 msvc 中搜索 gcc 等效选项。我找不到很多。
控制输出类型
Stop after the preprocessing stage; do not run the compiler proper.
gcc: -E
msvc: ???
Stop after the stage of compilation proper; do not assemble.
gcc: -S
msvc: ???
Compile or assemble the source files, but do not link.
gcc: -c
msvc:/c
对调试很有用
Print (on standard error output) the commands executed to run the stages of compilation.
gcc: -v
msvc: ???
Store the usual “temporary” intermediate files permanently;
gcc: -save-temps
msvc: ???
- 是否有某种 gcc <--> msvc 编译器选项映射指南?
- gcc Option Summary在每个部分中列出了比 Compiler Options Listed by Category 更多的选项. msvc 中缺少很多重要和有趣的东西。我是不是遗漏了什么,或者 msvc 确实不如 gcc 强大。
最佳答案
MSVC 是一个 IDE,gcc 只是一个编译器。 CL(MSVC 编译器)可以执行您从 gcc 的角度描述的大部分步骤。 CL/?
提供帮助。
例如
预处理到标准输出:
CL /E
不链接编译:
CL /c
生成程序集(虽然与 gcc 不同,这不会阻止编译):
CL /Fa
CL
实际上只是一个编译器,如果您想查看 IDE 为编译和链接生成了哪些命令,最简单的方法是查看某个项目的属性页的命令行部分集成开发环境。不过,CL
不会调用单独的预处理器或汇编器,因此没有单独的命令可供查看。
对于 -save-temps
,IDE 执行单独的编译和链接,因此无论如何都会保留目标文件。要保留预处理器输出和汇编器输出,您可以通过 IDE 启用 /P
和 /Fa
。
gcc
和 CL
是不同的,但我不会说 MSVC 缺少“大量”的东西,当然不是您正在寻找的输出。
关于c++ - Visual C++ 和 gcc 一样强大吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3107699/