庞大的初始化列表,如何修复"fatal error C1060: compiler is out of heap space"

Huge initialization list, how to fix "fatal error C1060: compiler is out of heap space"

本文关键字:compiler is C1060 out space heap of error fatal 初始化 列表      更新时间:2023-10-16

我正试图编译一个简单的C++文件,它可以:

static const unsigned char content[] = 
{
// 29MB of data written as "0x1E, 0x83, 0x3E, 0x86, 0xC8, 0x80, ...". 10 values per line
};

要编译的文件几乎有3M行,约为200Mo

这是一个资源管理系统的输出,试图在我的二进制文件中嵌入一个29Mo的资源文件(假设它是一个视频文件(,以便稍后在运行时使用。

当我编译时,VS2015报告:

致命错误C1060:编译器超出堆空间

有其他选择吗(使用静态常量无符号字符以外的其他字符(?使文件的行数减少,但每行字符数增加。。。

注意:我尝试了/Zm1000选项,但没有成功。

根据MSDN文档中关于的主题

消除不必要的全局变量,例如,通过分配动态内存,而不是声明一个大数组。

将当前文件拆分为更小的文件。

这两个问题都应该解决。