在masm下可以定义,可是在linux下如何定义堆栈?
------解决方案--------------------------------------------------------
lz的问题理解的不确定
如果是指gcc/gas的编译时指定,这个man下能找到的吧。
如果指运行时指定栈,可以如下:
留出一片可读写的ram空间,然后让esp ebp指向它,不需要特殊的指令吧
------解决方案--------------------------------------------------------
如果是运行在操作系统上的代码,操作系统创建任务时会为其准备堆栈。
如果是裸机程序,那可以在程序中保留一段内存,然后根据栈的增长方向把首地址或尾地址直接写入到sp寄存器就可以了!不过这样做要注意栈的平衡,不然可能溢出而影响程序的执行。
如何保留一段内存,看自己了!给你个方法,可以定义一个指定大小的数据段。