C++ visualc&x2B+;编译器';s默认选项

C++ visualc&x2B+;编译器';s默认选项,c++,visual-c++,C++,Visual C++,您能否告诉我,在从命令行编译时,cl.exe和link.exe的默认值是什么,例如: cl whatever.c 谢谢 更新:为了澄清:我对可用的命令行选项不感兴趣,我甚至从问题中链接了它们。我要的是一个隐式默认命令行选项列表,当您指定“无”并从命令行编译时使用这些选项。在命令行的link/?上选中cl/?。我相信每个版本的默认设置都不同。我总是在谷歌上搜索“cl选项”。这是当前最热门的: 和微软的文档一样,它有点随意,但似乎是完整的。当一个选项是默认设置时,会注意到这一点(尽管不是以任何一致

您能否告诉我,在从命令行编译时,cl.exe和link.exe的默认值是什么,例如:

cl whatever.c
谢谢


更新:为了澄清:我对可用的命令行选项不感兴趣,我甚至从问题中链接了它们。我要的是一个隐式默认命令行选项列表,当您指定“无”并从命令行编译时使用这些选项。

在命令行的
link/?
上选中
cl/?
。我相信每个版本的默认设置都不同。

我总是在谷歌上搜索“cl选项”。
这是当前最热门的:


和微软的文档一样,它有点随意,但似乎是完整的。当一个选项是默认设置时,会注意到这一点(尽管不是以任何一致的方式)。

关于microsoft网站上的实际默认设置,似乎没有太多的信息,但是Geoff Chappell似乎已经对这一主题做了一些研究。以下是链接:

正如我们所知,文档所说的和软件实际做的是两件不同的事情

为了进一步回答这个问题,您可以通过将/Bd选项传递给cl来查看cl传递给编译器模块c1xx.dll和c2.dll的选项:

cl /Bd helloworld.cpp
要查看编译器和链接器使用的环境变量,请键入:

cl /Be helloworld.cpp

这只列出了可用的编译器选项,而不是默认的编译器选项。嗯。。。我可以发誓,描述中提到了默认设置。我这里没有Windows框,所以现在无法检查。为什么人们不能区分“可用命令行选项”和“默认命令行选项”?请参阅,当您在未指定编译器选项的情况下编译.c文件时,默认情况下会隐式打开其中一些选项。我的回答确实解决了这个问题,因此可能是您缺乏阅读理解。假设警告:默认行为并不总是与命令行选项匹配。例如,默认行为“禁用代码分析”没有命令行选项;唯一的命令行选项是
/analyze
(启用代码分析)@MSalters您能给出一个替代示例吗?您描述的一个可以通过传递
/analyze-
(请参阅)来实现。@JBentley:这是我按字母顺序找到的第一个(可能是VS2008)。还有这样的标志,例如
/GF