我遇到了问题,因为在较小的类型中输入了太大的数字而导致Visual C ++ 2008中的运行时检查失败。失败在外部dll中,所以我无法修复它。那么如何关闭外部项目的运行时间检查。
答案 0 :(得分:3)
如果在此DLL中发生了无法重新编译的强制转换(和检查),则无法轻松关闭检查。
您唯一能做的就是更改传递给DLL的数据以避免出现问题。或者修改二进制文件以禁用检查,这可能不会非常困难,因为那样的事情 - 你对反汇编程序有好处吗?
答案 1 :(得分:0)
运行时检查取决于在项目的 Visual Studio 配置属性、C/C++ 代码生成、“小型类型检查”中能够找到的选项 /RTC c。你应该关掉它,然后重新编译。
答案 2 :(得分:-1)
您可以随时在项目设置中关闭强制类型的强制类型检查。
如果检查被编译到dll中不起作用,那么您可以尝试链接到非调试版本的dll,因为检查只能用于调试“优化”构建。当然,它可能会影响你的调试。