我认为这是一个编译器错误,这不应该影响我的代码,但它是
I think this is a compiler error, this shouldn't be affecting my code but it is
我的主函数的代码中有这个。
{
int buncha_ints[] = { 0, 0, 0, 0, 0 };
}
当它不存在时,我的程序工作正常,当它在那里时,我的程序不起作用。我的问题是,这不应该绝对没有影响吗?打开一个新范围,然后立即关闭。此数组被分配、初始化,然后从堆栈中清除。如果这影响了我的程序的其余部分,那一定是编译器错误,对吗?
这确实是我的问题,但如果需要更多细节,这是一个相当简单的 DirectX11 Win32 程序。我只是将 2 个正方形渲染到屏幕上,当我将上面的代码放入其中时,它不再渲染。我无法渲染第三个正方形,经过实验,我发现了一些奇怪的问题,归结为上面的问题,每当分配超过 4 个字节的东西时,无论它在哪里,即使它从未被调用,我的程序也会停止渲染。这似乎值得注意,我的目标平台是 32 位。
这是访问错误内存位置的典型标志。 即在程序的其他部分中,您正在执行超出范围的访问。当您定义该数组时,您只是在移动内存块。只需简单地使用valgrind来检查一下。
相关文章:
- 条件断点在不应该触发时触发
- 你好。。。id_public变量不应该给出结果为 81 和 86 吗?为什么它为两个派生类占用不同的内存位置?
- 为什么我不应该把所有东西都放在标题中?
- 找不到 QRegularExpression 行为的任何解释。它有效,但不应该
- 在清除 istream 之前,我不应该需要取消获取它吗?
- c++ 为什么我不应该从不同的线程解锁互斥锁
- 帧缓冲纹理变为白色(片段着色器不会影响它)
- "typename"不应该只在模板函数或模板类中使用吗?
- 为不应该获得未定义行为的内容获取未定义的行为
- 两种情况下的输出不应该相同吗?
- 默认情况下,"std::shared_ptr"不应该使用"std::d efault_delete"吗?
- 错误代码 E0065 和 E0169 不应该有
- 矢量的值在不应该更改时更改
- 保证复制省略不应该适用吗?
- 不应该禁止访问私有类型吗?
- 使用匿名命名空间中的函数或另一个文件中的静态函数不应该出错吗?
- NRVO不应该保证局部命名变量和调用站点变量采用相同的地址吗?
- 类的私有成员在我的类实例化期间更改,即使他们不应该
- 为什么'system'不应该在 Windows 特定的应用程序中使用
- 一个实例影响另一个实例,尽管它不应该't