简单地说, /gs 选项就是打开 stack guard 功能, 也就是在 call 一个函数, 进行压栈的过程中, 在 ebp 和 local variables 中间, 插入一个 global cookie. 一旦 local variable 发生了溢出, 改写了 stack guard 的值, 则函数返回的时候会检查到该变化, 并立刻终止应用程序, 这样能够及时发现问题.
请看原文: