在开发以MCU为核心的嵌入式系统时,当软件程序向预设的数据结构(通常是一个固定长度的缓冲区)之外的程序调用堆栈的内存地址范围写入数据时,就会发生堆栈缓冲区溢出。这几乎必然会损坏附近的数据,甚至会改变返回函数。如果是有意为之,则这就是我们熟知的堆栈粉碎。防范堆栈缓冲区溢出的一种方法是使用堆栈canary,因其类似于在煤矿中使用金丝雀侦测毒气而得名。目前,在以IAR Embedded Workbench为代表的领先开发工具的所有最新版本中,均已支持堆栈保护功能。
巧克力娃娃
我与贸泽不得不说的秘密,如何让选型和设计更轻松与惬意?
vim从入门到精通第02季:使用插件定制自己的IDE开发环境
自动控制理论与系统
零基础Python入门教程
【代码规范与程序框架】一组数码管引发的思考
内容不相关 内容错误 其它