Chinaunix

标题: gcc/clang能否生成检查堆栈是否被破坏的代码? [打印本页]

作者: cdsfiui    时间: 2016-09-28 14:14
标题: gcc/clang能否生成检查堆栈是否被破坏的代码?
windows下面的VC生成的debug版本的代码,编译器会自动插入0xcccccccc去做堆栈内存的前后返回的保护,并且会用_chkesp来检查函数退出的时候,堆栈是否平衡。这是非常强大的功能。
那我想知道,linux上的gcc/clang是否有类似的能力可以去做堆栈的保护和平衡检查,对于非优化的版本而言? 有什么命令行选项或者库的支持吗?
谢谢。

作者: MMMIX    时间: 2016-09-28 15:07
回复 1# cdsfiui

gcc 的 -fstack-protector 相关选项可以自动插入 stack 检测代码。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2