最近两天遇到一个问题,当我把一个已经完结的程序由Debug转到Release编译后,Release版本的程序运行不正常,跟Debug版本表现不一致。开始我以为是库的原因,对比了之后发现库是一样的;后来怀疑是代码有问题,因为我上网查阅,Debug与Release版本的程序确实有一个地方不同:“Debug模式下变量未赋初值时,编译器会自动给它赋一个绝对值很大的负数;而Release模式下它只会分配空间,至于里面的值,内存中原来是什么,它就是什么。”(网上查得,未经过验证。)但是对关键地方进行了排查,应该不是这个原因导致的。最后,终于在一个帖子中找到了答案:Release模式下属性->C/C++->代码生成->运行时库中应该选择多线程(/MT),而不是多线程调试。修改之后果然问题得到了解决。帖子地址为:http://blog.youkuaiyun.com/ldpxxx/article/details/9717325,在此表示感谢。
关于Debug和Release程序运行不一致的问题
最新推荐文章于 2022-12-09 18:23:20 发布