这里的“每个”不够准确,的确如你所说,不是所有函数都会加_chkesp,对与ESP绝对不会被破坏的情况,编译器就没有必要再加这个检查,这有点像基于Cookie的溢出检查,是根据需要来加的,编译器内部有一个简单的判断规则。
多谢你的反馈。
_chkesp 是为了防止栈溢出攻击的防护代码,有些函数是要有的,但不是每个都有,像张老师说的一样。
像main函数,程序都退出了,也没有加_chkesp的必要了。即使能实现,感觉也不是很好能控制的住。