afxtempl.h(127) : fatal error C1076: compiler limit

来源:百度文库 编辑:神马文学网 时间:2024/05/01 06:44:57
http://blog.csdn.net/tigercopy/archive/2008/01/11/2037168.aspx afxtempl.h(127) : fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit
近来想用一下Xtreme ToolkitPro 界面库,安装后用VC6根据向导 产生一个工程,编译时出现上面的错误,解决办法如下:
工程->设置->c++选项卡,下面有个工程选项(O),在编辑框中参数最后面加上/Zm1000即可,或者/Zm2000,只要是倍数即可,微软的解释如下:/Zm(指定预编译头的内存分配限制)
确定编译器对预编译头的内存分配限制。
/Zmnumber
 参数 number
比例因子,用于为预编译头确定编译器的内存分配限制。
 备注
number 参数是默认值为 100 的比例因子,它指定内存分配为 50 MB。最大值为 2000。下表说明数字如何修改内存分配。
值              内存分配 
10              5.0 MB
100            50 MB
200            100 MB
1000          500 MB
2000          1000 MB
 
在早期的 Visual C++ 版本中,编译器使用了大量的离散堆,每个堆都有一定的限制。编译器现在可以根据需要使堆动态增大,只要求分配给预编译头的内存的大小固定不变。只有在极少数涉及非常大或非常复杂的程序的情况下,才会导致超出预编译头的堆大小限制。如果程序超过这些限制,请使用 /Zm 调整所有限制的总大小。大多数情况下,并不需要使用此编译器选项。如果编译程序时出现错误信息,并且该错误信息报告了 /Zm 应该具有的值,则使用此选项。 如何用程序实现导入此选项,还在探索中... 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tigercopy/archive/2008/01/11/2037168.aspx ( # )