前两天引入一个COM组件的时候,产生这样一个编译错误fatal error C1076,网上一搜,原来是这样:
编译错误
fatal error C1076: 编译器限制,达到内部堆限制;使用/Zm指定更高的限制。
编译器选项 /Zmnumber
在“项目属性”的命令行下,添加/Zmnumber,其中number是自己想要指定的比例系数;
可以指定的值是:10,100,200,1000,2000,对应的memory alloction是5.0M,50MB,100MB,500MB,1000MB;
在过去的VC版本中,编译器使用的堆内存是离散的,每块都有上限;
现在编译器是按照需要动态来分配堆内存的;
但仍然给预编译头文件以有限固定堆内存的大小;如果不够,会给出C1076错误;
这只是在写一些非常复杂的程序时才出现;
解决方法
进入工程->点右键->工程属性->c++-〉命令行,在最下边输入/Zm200,点确定。