VC项目中 Debug版本正常Release版本崩溃

I.内存分配问题

1.变量未初始化。

为debug中会自动给变量初始化found=FALSE,而在release版中则不会。所以尽可能的给变量、类或结构初始化。

2.数据溢出的问题

3.DEBUG版和RELEASE版的内存分配方式是不同的 。

如果你在DEBUG版中申请ele 为 6*sizeof(DWORD)=24bytes,实际上分配给你的是32bytes(debug版以32bytes为单位分配), 而在release版,分配给你的就是24bytes(release版以8bytes为单位),所以在debug版中如果你写ele[6],可能不会有 什么问题,而在release版中,就有ACCESS VIOLATE。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Debug版本:调试版本包括 调试信息,所以要比Release版本 大很多(可能大数百K至数M)。Release版...
    goyohol阅读 946评论 0 1
  • __block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,...
    LZM轮回阅读 3,387评论 0 6
  • 内存管理 简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与a...
    丶逐渐阅读 2,014评论 1 16
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,678评论 25 708
  • 很多人会问我“这么多年,你也经历了不少事,你有后悔过吗?”如果说没有那肯定是骗人的,后悔的是没有给她一个家...
    雅痞允末阅读 817评论 3 4