我有一个问题,在Visual C++ 2008中得到一个失败的运行时检查,因为将一个太大的数字转换为一个较小的类型。故障在外部dll中,所以我无法在那里修复它。那么,如何关闭外部项目的运行时检查呢?
发布于 2008-10-02 09:17:37
如果强制转换(和检查)发生在您无法重新编译的DLL中,那么您就不能轻易地关闭检查。
您唯一可以做的就是更改您传递给DLL的数据,以避免出现问题。或者修补二进制文件以禁用检查,就这类事情而言,这可能不是很困难-你擅长反汇编程序吗?
发布于 2021-04-28 15:34:01
运行时检查取决于/RTC c能够在项目的Visual Studio配置属性中找到的选项,C/C++代码生成,“更小的类型检查”。你应该关闭它,然后重新编译。
发布于 2008-10-02 09:12:06
你总是可以在项目设置中关闭转换为较小类型的检查。
如果在检查被编译到dll中时不起作用,那么您可以尝试链接到非调试版本的dll,因为检查只能在调试“优化”构建时启用。当然,这可能会影响您的调试。
https://stackoverflow.com/questions/161369
复制相似问题