c++ - Visual C++ 和 gcc 一样强大吗?

标签 c++ c visual-c++ gcc

我对强大的定义是定制能力。

我熟悉 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: ???
  1. 是否有某种 gcc <--> msvc 编译器选项映射指南?
  2. 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

gccCL 是不同的,但我不会说 MSVC 缺少“大量”的东西,当然不是您正在寻找的输出。

关于c++ - Visual C++ 和 gcc 一样强大吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3107699/

相关文章:

visual-c++ - 合并排序C++无效[歧义错误]

c++ - 带有省略基的 Visual Studio 2010 无范围不透明枚举声明

javascript - 通过 JS/Jquery 调用执行 c++ 可执行文件

c++ - VS 2010 - 将 Win32 应用程序向导作为 .html 文件打开

c - while (*p2++ = *p1++); 是做什么的?意思?

visual-c++ - 如何在 asm *without* label 中实现条件跳转?

c++ - 为什么我的字符串没有被打印出来?

c++ - 为什么要初始化这个数据成员?

C 调试,#if DEBUG 与 if (DEBUG)

c++ - 如何从文件中返回随机行?面试题