我的主要功能代码中有这个。
{
int buncha_ints[] = { 0, 0, 0, 0, 0 };
}
当它不存在时我的程序工作正常,当它在那里我的程序不起作用。我的问题是,这不应该没有任何影响吗?打开一个新范围,然后立即关闭。该数组被分配,初始化,然后从堆栈中清除。如果这影响了我的程序的其余部分,这必须是编译器错误吗?
这真的是我的问题,但如果要求更多细节,这是一个相当简单的DirectX11 Win32程序。我只是渲染2个方格到屏幕,当我把上面的代码放在它不再渲染时。我无法渲染第三个方格,经过实验后我发现了一些可以归结为上述问题的奇怪之处,无论何时分配超过4个字节,无论它在哪里,即使它从未被调用,我的程序停止渲染。这看起来很明显我的目标平台是32位。