CC++编程问题,用栈方法实现内存的申请和释放?

CC++编程问题,用栈方法实现内存的申请和释放?,第1张

先知道概念,C++动态生成激岁的空间都是毁枝在栈中,例如 int *a = new int 分配一个int型的空间,地址值赋给a,这个空间是动态生成,所以是栈空间,还有局部变量也是;

静态的空间是堆,例如全局变量

int a//全局变量

int Fun()

{

int b//局部变量

b=0;

return b;

}

int main()

{

int *a = new int//局部变量

}

总之,当程序中函数执行完就释放的空间是栈,局部变量;当程序执行完再释放的空间是堆,全局的明余睁

原理上,困纤先修改堆栈的相关寄存器以指向0000:200 或者是0000:20F;

然后从03FF:0~03FF:F取数并一一执行入栈 *** 汪梁仿作即可;

最后记得恢复渣旅堆栈的相关寄存器值;

如果是8086系统,修改0段数据,是相当危险的;


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12499049.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存