登录 后可观看高清视频
在 Yul 中使用内存 (mstore & mstore8)
33次播放
2025-04-16
该视频主要讲解了在Yul(Solidity的底层语言)中如何管理和使用内存,重点介绍了 mstore
和 mstore8
这两个关键的内存操作指令。
关键论据/信息:
- 内存使用的必要性: 智能合约需要内存来返回值、设置参数、获取外部调用值、回退特定字符串、记录日志、部署新合约以及使用
keccak256
函数。 - 内存组织: Solidity中的内存以32字节为增量进行组织,没有垃圾回收机制。
- 关键指令: 内存管理的关键指令包括
mload
、mstore
、mstore8
和mSize
。 mstore
的工作方式:mstore
指令将32字节的数据写入指定的内存地址。视频演示了如何使用mstore
将一个32字节的全1值(0xFF...FF)写入内存的特定位置,以及如何通过偏移量改变写入的位置。mstore8
的工作方式:mstore8
指令仅修改单个字节。视频演示了mstore8
如何只修改内存地址的第一个字节,以及mstore
如何覆盖mstore8
的结果,因为它操作的是整个32字节的字。- 内存指针: 视频提到了空闲内存指针(free memory pointer),并指出后续会深入探讨。