在开发以MCU为核心的嵌入式系统时,当软件程序向预设的数据结构(通常是一个固定长度的缓冲区)之外的程序调用堆栈的内存地址范围写入数据时,就会发生堆栈缓冲区溢出。这几乎必然会损坏附近的数据,甚至会改变返回函数。如果是有意为之,则这就是我们熟知的堆栈粉碎。防范堆栈缓冲区溢出的一种方法是使用堆栈canary,因其类似于在煤矿中使用金丝雀侦测毒气而得名。目前,在以IAR Embedded Workbench为代表的领先开发工具的所有最新版本中,均已支持堆栈保护功能。
STM32H5系列高性能MCU,卓越性能和高安全性超乎你想象
QT视频教程
C 语言灵魂 指针 黄金十一讲 之(3)
C 语言中的 const 精讲 塔菲石二讲 之(1)
单片机到底是个什么东西(免费)
内容不相关 内容错误 其它