当前位置: 首页>移动开发>正文

zSetOperations remove无效 about:invalid#zclosurez

打开 ogremain 项目属性页

 

   将配置属性->C++->命令行->附加选项

 

   的/Zm1000   改为 /Zm500 即可

 

 

 

 

 

 

附上/Zm 编译选项介绍

 

 

 

 

/Zm(指定预编译头的内存分配限额)


Visual Studio 2010



其他版本



 



  • Visual Studio 2008
  • Visual Studio 2005


确定class="superseo">编译器分配的用于构造预编译头的内存量。



复制



/Zmfactor



参数





factor

一个比例因子,确定编译器用于构造预编译头的内存量。

factor factor



备注





在早期版本的 Visual C++ 中,编译器使用几个离散堆,每个堆都有一定的限制。 当前,编译器可根据需要动态增加堆,最多可增加到总堆大小限制,并且只需要固定大小的缓冲区即可构造预编译头。 因此,很少需要 /Zm 编译器选项。

如果在您使用 /Zm 编译器选项时,编译器用完堆空间,发出 C1060 错误消息,则您可能保留了太多的内存。 可考虑移除 /Zm 选项。 如果编译器发出 C1076 错误消息,则伴随的 C3859 消息会指定您在使用 /Zm 编译器选项重新编译程序时应使用的 factor

下表显示当您假定默认预编译头缓冲区的大小为 75 MB 时,factor



factor

内存分配限制

10

7.5 MB

100

75 MB

200

150 MB

1000

750 MB

2000

1500 MB



设置内存分配限制的其他方式



在 Visual Studio 开发环境中设置 /Zm 编译器选项



  1. 打开该项目的“属性页”对话框。 有关详细信息,请参见 如何:打开项目属性页。
  2. 单击“C/C++”文件夹。
  3. 单击“命令行”属性页。
  4. “附加选项”框中键入编译器选项。



以编程方式设置 /Zm 编译器选项



  • 请参见AdditionalOptions。



 

 

 

 

 

 

 

 



错误 C1060



Visual Studio 2010



其他版本



 



  • Visual Studio 2008
  • Visual Studio 2005



编译器的堆空间不足

 



操作系统或运行库无法满足内存要求。



若要修复此错误,请尝试以下可能的解决方案



  1. 如果编译器还发出错误 C1076 和 C3859,请使用 /Zm 编译器选项来降低内存分配限制。 如果您减少剩余内存分配,则会增加可用于应用程序的堆空间。如果已设置了 /Zm 选项,请尝试移除它。 堆空间可能会用完,因为选项中指定的内存分配限制太高。 如果您移除 /Zm 选项,则编译器将使用默认限制。
  2. 增加 Windows 交换文件的大小。
  3. 关闭其他正在运行的程序。
  4. 消除不需要的包含文件。
  5. 消除不需要的全局变量,例如,动态分配内存而不是声明一个大数组。
  6. 消除未使用的声明。
  7. 将当前文件拆分成更小的文件。

https://www.xamrdz.com/mobile/4vd1933563.html

相关文章: