qman007
码龄14年
关注
提问 私信
  • 博客:19,318
    社区:7,547
    问答:3,538
    动态:203
    30,606
    总访问量
  • 19
    原创
  • 915,856
    排名
  • 64
    粉丝
  • 0
    铁粉

个人简介:火眼金睛

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:辽宁省
  • 加入CSDN时间: 2011-02-11
博客简介:

qman007的专栏

查看详细资料
个人成就
  • 获得8次点赞
  • 内容获得16次评论
  • 获得12次收藏
创作历程
  • 1篇
    2021年
  • 14篇
    2020年
  • 4篇
    2011年
成就勋章
TA的专栏
  • 笔记
    15篇
兴趣领域 设置
  • 后端
    架构
  • 服务器
    linux
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

179人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

根据从业多年的经验,使用C/C++开发的应用程序发生了运行崩溃,其主要原因有几点: 1. 指针操作不当 1.1 指针未初始化 一个指针在Debug下编译器自动将其初 始化为NULL,一块缓存同样在Debug下编译器会自动将该块缓存中的所有字节初始化为0 然而Release下则不会发生这样的事情,需要程序中有初始化的代码。 1.1.2 指针越界读写 这个错误几乎所有的开发人员都会犯,有个好办法可以避免:用模板类封装指针,重载+=和-=操作符,在里面判断是否越界。 1.1.3 指针用完释放后未置NULL 一个良好的习惯是在指针使用完毕并释放后,显示的将该指针值为NULL,如此避免了野指针的出现。 2. 内存资源耗尽 2.1 动态申请的指针使用完毕后不释放,导致内存泄露。 2.2 容器(vector/list/map等)的旧的失效数据不及时清除,导致垃圾数据堆积。 2. 3 文件,套接字等内核对象使用完毕后不释放(关闭句柄),导致内核资源耗尽。 3. 数据的同步问题 3.1 对一块数据读写时不进行互斥保护,导致多线程读写产生坏数据。 3.2 单线程下对于可递归重入的函数缺乏调用保护,导致数据读写错乱 3.3 多线程下读写非 volatile 关键字修饰的全局变量导致的数据同步问题。(Debug下不发生,Release下频繁发生) 4. 数据溢出 4.1 每种常规类型的数据都有范围,超出其范围将导致数据溢出,溢出后数据归零,如此会产生计算错误或分母为零的情况,造成崩溃。 5. 堆栈溢出 5.1 堆栈溢出的现象虽不常见但绝对存在,函数内存在多个局部大尺寸结构体或Class对象,而且函数调用期间又产生了多个大尺寸局部临时对象,如此会导致堆栈溢出,返回地址被覆盖,运行崩溃。 还有其他会造成程序运行崩溃的情况,就不一一列举了,总之要确保程序安全高效稳定的运行,必须要有足够的经验和来知识来支撑。

发布动态 2021.05.14

2021-05-14

根据从业多年的经验,使用C/C++开发的应用程序发生了运行崩溃,其主要原因有几点: 指针操作不当 1.1 指针未初始化 一个指针在Debug下编译器自动将其初 始化为NULL,一块缓存同样在Debug下编译器会自动将该块缓存中的所有字节初始化为0 然而Release下则不会发生这样的事情,需要程序中有初始化的代码。 1.1.2 指针越界读写 这个错误几乎所有的开发人员都会犯,有个好办法可以避免:用模板类封装指针,重载+=和-=操作符,在里面判断是否越界。 1.1.3 指针用完释放后未置NULL 一个良好
原创
发布博客 2021.05.14 ·
150 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

一个C/C++程序员和JAVA程序员在餐厅吃饭,C/C++程序员吃完后把桌子擦干净,把餐盘送回原处(手动释放内存),JAVA程序员吃完后头也不回直接走人(自带垃圾回收)。 所以说C/C++程序员更具备社会责任感,而JAVA程序员属于甩手掌柜,油瓶子倒了都不扶。 这个可能会误伤一些负责人的JAVA开发人员,但自动垃圾回收的功能之一就是把人从负责任慢慢培养成不负责任,其心可诛啊。

发布动态 2021.05.13

CSDN成啥了?越来越多的非IT行业动态充斥

发布动态 2021.05.13

昨天被我放弃的一个大连本地公司的offer, 虽然我已经46周岁了,但在C/C++方面还是有些竞争力的 。 薪资上差距不超过1500块,关键是为了这点钱把身份从技术负责人变为码农打拼者,属实不值当

发布动态 2021.05.13

鸿蒙系统令人担忧

发布动态 2021.05.08

数组越界写入,破坏了动态分配的内存单元的头部结构,所以导致free的时候读取头部信息的时候触发异常

发布动态 2021.04.13

OSG比Unity好的地方:OSG内置了种类齐全的漫游器,而unity却没有。对于各种轴心不正的三维模型,OSG都可以仅用一行代码(漫游器复位)就可以让相机正对模型的中心点,并以合适的距离观察模型,而Unity必须要计算相机的位置,这可是需要很多很多行的代码。

发布动态 2021.03.10

unity适合做游戏软件,绝对不适合做业务,做管理软件。 用unity做UI太费劲!!!

发布动态 2021.03.10

蚂蚁内幕

发布动态 2020.11.16