masm在win32编程中,定义局部变量时,数组的大小有什么限制?
为什么我在编程中,local buffer[4096]:byte是正确的,而定义
local buffer[5000]:byte时,程序中及时不用buffer,也运行不正常呢?
------解决方案--------------------------------------------------------
5000 byte 应该不会吧?如果是在不行,在link中调整一下stack commit 的大小,或者
使用动态内存,比如用 malloc 或 vm
------解决方案--------------------------------------------------------
局部变量是定义在堆栈段上的,因此总大小受限于堆栈段大小
LZ可以声明内存模式后加入.STACK 5120伪指令,这样应该就能定义长度为5000的局部数组了