您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页arm64汇编篇-04堆与栈的关系

arm64汇编篇-04堆与栈的关系

来源:二三娱乐

栈:

栈是一种具有特殊的访问方式的存储空间(后进先出, Last In Out Firt,LIFO)。

堆:

堆用于动态分配和释放程序所使用的对象.(这边不详细介绍堆,汇编中主要是看栈的运用)。

地址读取:

内存中内存地址的读取是从低地址向高地址读取的。

栈与堆的关系:


上面简单的画了一下堆栈的关系,Stack Overflow大家应该不是很陌生,在开发中遇到的很多刁钻的问题都可以在Stack Overflow中找到答案而其意义却是堆栈溢出。

栈的内存开辟是从高地址往低地址段开辟,但是读取内存都是从低地址往高地址读取的,所以栈里面涉及到栈平衡和叶子函数调用的问题,在后续文章里会介绍。

同时栈的开辟是通过移动sp来实现的,上一章介绍了sp寄存器是始终指向栈顶的,所以在叶子函数中可以不开辟栈来实现寄存器数据操作。

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务