• 程序不稳定是因为C++基础不扎实


    最近开发的程序,逻辑上都实现了,但是感觉运行不稳定,程序时不时崩溃(不是逻辑运行不正确),至少找出2个错误:

    情况1:
    char* szRemoteReal = new char[MAX_LENGTH]; memset(szRemoteReal, 0, MAX_LENGTH);
    一定要memset,否则里面内容是随机的,岂不出问题?

    情况2:
    char* szRemoteReal = new char[MAX_LENGTH];
    一定要delete[],而不是delete

    情况3:
    野指针,这是最危险的情况,这个我倒是已经理解了:http://www.cnblogs.com/findumars/p/3698013.html

    情况4:
    memset(p, 0, sizeof(p));
    初始化长度不正确

    情况5:

    删除不当指针,也会造成错误。有些对象其实是指向系统区的,不一定是自己可以删除的(比如没有初始化指针就删除,此时指向0xCDCDCDCD,就当场崩溃了)

    情况6:静态变量未初始化就使用

    情况7:在没有上锁的情况下,使用解锁语句

    总结:程序不稳定有很多原因,上次看到过一篇文章:

  • 相关阅读:
    HTTP Status 401
    Spring Data Elasticsearch 应用
    Elasticsearch基础概念
    Windows上使用Linux命令
    在服务器搭建git仓库
    SSH
    Linux/Windows 配置config 使用ssh连接
    在阿里云CentOS服务器上安装Python3.7并设置为默认Python
    Linux下Python3源码安装
    Vue
  • 原文地址:https://www.cnblogs.com/findumars/p/4550462.html
Copyright © 2020-2023  润新知