gpt4 book ai didi

c++ - 运行发布构建的应用程序时出现访问冲突异常

转载 作者:行者123 更新时间:2023-11-28 00:57:04 24 4
gpt4 key购买 nike

最近我一直在开发一个小型的 OpenGL 游戏。它中的所有内容都可以在调试版本中正常运行,但是当我构建版本时,我得到一个奇怪的访问冲突异常。

我搜索了整个代码,问题似乎是在我尝试打开文件时出现的。这是我认为问题出处的函数:

#define LOCAL_FILE_DIR "data\\"
#define GLOBAL_FILE_DIR "..\\data\\"

std::string FindFile(const std::string &baseName)
{
std::string fileName = LOCAL_FILE_DIR + baseName;
std::ifstream testFile(fileName.c_str()); // The code breaks here
if(testFile.is_open())
return fileName;

fileName = GLOBAL_FILE_DIR + baseName;
testFile.open(fileName.c_str());
if(testFile.is_open())
return fileName;

throw std::runtime_error("Could not find the file " + baseName);
}

此代码与 GLSL 着色器的加载相关联。函数获取着色器的文件名,然后将其传递给 FindFile 以查找所需的文件。

最佳答案

正如个人(和教学)经验的一般规则:>90% 的 Debug 工作正常而 Release 崩溃的情况是由于未初始化的变量。这在 C++ 中比在 C 中要难一些,但这是一个非常普遍的问题。确保所有变量(如 baseName)在使用前都已初始化。

关于c++ - 运行发布构建的应用程序时出现访问冲突异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10504714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com