首页 > 其他分享 >VS 下使用assert导致Release版本和Debug版本运行不一致问题

VS 下使用assert导致Release版本和Debug版本运行不一致问题

时间:2022-12-13 09:00:26浏览次数:47  
标签:assert Release VS 版本 Debug msvc

问题描述

  1. 问了方便快捷的找出代码的问题。我对函数调用使用assert(注:我使用的是msvc的c++库cassert,不是assert.h,assert.h没尝试过),代码如下:

    为了定位问题,加了个文件日志。
  2. 在Debug版本下运行如图:
  3. 在Release版本下有运行如图:

问题解决

  1. 删掉assert
  2. 其实百度了其它解决思路,都未能达到效果。后来仔细检查对比之下,才发现:其它能正常显示的组件就比这个组件少了assert
  3. 不知道msvc是怎么对其进行优化的,没深究。若后面有心得,会更在本文。

其它尝试

  1. 定义NDEBUF宏不能解决问题,必须是删掉assert。
  2. 未尝试assert.h,若后面有需要,会将结果更新在本文。

标签:assert,Release,VS,版本,Debug,msvc
From: https://www.cnblogs.com/LeiFeng1000/p/16977638.html

相关文章