今天又来给大家送干货了!上次聊了硬件导致的单片机“死机”问题,今天咱们换个角度,深入聊聊
2025年08月28日
由于C++语言对内存有主动控制权,内存使用灵活和效率高,但代价是不小心使用就会导致以下内存错误:
o memory overrun:写内存越界 o double free:同一块内存释放两次 o use after free:内存释放后使用 o wild free:释放内存的参数为非法值 o access uninitialized memory:访问未初始化内存 o read invalid memory:读取非法内存,本质上也属于内存越界 o memory leak:内存泄露 o use after return:caller访问一个指针,该指针指向callee的栈内内存 o stack overflow:栈溢出
2025年08月28日
在写C/C++程序时,一提到内存,大多数人会想到内存泄露。内存泄露是一个令人头疼的问题,尤其在开发大的软件系统时。一个经典的现象是,系统运行了10天、1个月都好好的,忽然有一天宕机了:
OOM(Out Of Memory,内存用光)!于是,痛苦地查找内存泄露根源的过程开始了…本拿主要讨论内存使用问题,包括内存泄露、悬挂指针、内存重复申请、变量的作用范围等,涉及指针、数组、引用等的使用。
6.1数组越界
代码示例