【发布时间】:2010-06-24 06:35:27
【问题描述】:
我对强大的定义是自定义能力。
我熟悉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 强大。
【问题讨论】:
-
对于
gcc -v的情况,我的猜测是msvc 编译器对所有内容都只是普通的cl,并且它没有像gcc 那样具有单独的可执行二进制文件。 -
我不明白您如何将“更强大”等同于“更多命令行开关”。
-
@Timbo:编译器错误确实会发生,看起来像编译器错误的错误也会发生:能够诊断这些错误很有用。
-
作为定义提供,“更强大=更多命令行开关”对我来说是合理的:他/她的意思是,使用开关我可以改变编译器的行为;更多的开关,更多的可调参数,更多的灵活性,所以在编译器的用户手中更“强大”。当然,应该考虑以下几点:允许多个参数的单个开关;例如xyz 可以有
-E和-S... 其中 abc 可以有/c=preprocess-only和/c=do-not-assemble只是说...导致二对一切换... -
@claws 我不知道我是否会称 gcc 强大,但它肯定很慢。所有这些额外的命令只会增加不必要的复杂性。从可用性的角度来看,msvc 更有意义并且更容易上手。如果有一件事我希望 gcc 有它正在编译的文件的一些状态,比如 msvc、borland、dmc 和其他编译器。不,我不是说-v,这太冗长了——只是一个它当前正在编译的简单文件名……它甚至没有。
标签: c++ c visual-c++ gcc