Visual Studio C++编译器标志:-Zm200是什么?

6

我在C++开发中使用Qt,今天我从一个.pro文件生成了一个.vcproj文件。

我注意到在vcproj的项目属性下,Qt将此标志添加到C/C++ -> 命令行 -> 附加选项中。

-Zm200 

What is -Zm200?

2个回答

14

-Zm是指定预编译头内存限制的参数(更多信息请查看此处)。它限制了编译器为处理预编译头所能分配的内存量。对于Visual C++ 2008,-Zm200表示限制为150 MB。


这很奇怪。如果你看一下Eric指出的那篇文章,那篇文章说210MB! - sivabudh
1
Eric的文章提到了VC++ 6.0。我的链接指向VC++ 2008。2005有一个不同的版本号,2010可能仍然会有所不同。 - Michael
5
嗨,这是MSDN,没人指望它们准确或有用。^^ - Eric
根据VC6的文档(http://msdn.microsoft.com/en-us/library/aa278580%28VS.60%29.aspx),该数字是一个缩放因子。它还提到默认限制约为105MB。因此,200意味着200%(因此2x105 = 210)。如果Michael上面的说法正确,则VS2008的默认值必须为75 MB。 - Will Bickford

3

根据这篇文章,这限制了编译器的最大堆大小。因此,这对您的程序没有任何影响。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接