仅发布中的错误

问题描述 投票:0回答:1

我正在使用 Microsoft Visual Studio Express 2013。我有一个包含 3 个项目的解决方案。 1 个静态库和两个引用该库的项目。当 ONLY 库的优化设置为 /O2 时,我在游戏中遇到了一些奇怪的错误。当我仅针对库禁用优化时,它的运行方式与调试中的运行方式完全相同。这会是什么原因造成的?我该如何解决它?

c++ optimization visual-studio-2013 release
1个回答
2
投票

您可能有未初始化的变量,这些变量会在调试模式下由编译器自动初始化,而不是在发布模式下。

此外,您可能会面临对齐问题和轻微的内存溢出,由于没有优化,您在调试模式下会受到保护,但当启用优化并且您的代码以不同方式对齐时,这可能会导致问题和未定义的行为。

尝试确保所有变量都已显式初始化,并且假设:

int i;
is the same as int i = 0;
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.