我正在使用 Microsoft Visual Studio Express 2013。我有一个包含 3 个项目的解决方案。 1 个静态库和两个引用该库的项目。当针对ONLY 库的优化设置为/O2 时,我的游戏中出现了一些奇怪的错误。当我禁用优化时,仅针对库,它的运行与调试时完全一样。是什么原因导致的,我该如何解决?
最佳答案
您可能有未初始化的变量,这些变量在 Debug模式下由编译器自动初始化,而不是在 Release模式下。
此外,您可能会面临对齐问题和轻微的内存溢出,由于没有优化,您在 Debug模式下可以避免这些问题,但是当启用优化并且您的代码以不同方式对齐时,这可能会导致问题和未定义的行为。
尝试确保所有变量都已显式初始化,并且不要假设:
int i;
is the same as int i = 0;
关于c++ - 仅在发布中存在错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20536667/