为什么vs2019 的创造数组 是从ebp-8开始的,那ebp-4的四字节空间没用吗

为什么vs2019 的创造数组 是从ebp-8开始的,那ebp-4的四字节空间没用吗

008F4D55 mov dword ptr [ebp-2Ch],1
008F4D5C mov dword ptr [ebp-28h],2
008F4D63 mov dword ptr [ebp-24h],3
008F4D6A mov dword ptr [ebp-20h],4
008F4D71 mov dword ptr [ebp-1Ch],5
008F4D78 mov dword ptr [ebp-18h],6
008F4D7F mov dword ptr [ebp-14h],7
008F4D86 mov dword ptr [ebp-10h],8
008F4D8D mov dword ptr [ebp-0Ch],9
008F4D94 mov dword ptr [ebp-8],0Ah

ebp-4这里编译器存了个局部变量,会检查堆栈是否正常。

VS编译器开了/GS选项(默认开启)后会这么做,别的编译器不一定

https://www.zhihu.com/question/67203582