相关疑难解决方法(0)

现代VM如何处理内存分配?

我正在研究用C编写的简单堆栈机器,主要用于学习目的.在malloc/free用于我的内存操作后,我认为从现代虚拟机中读取一些特定于内存分配的代码是个好主意.

我下载了Lua源代码并开始阅读它.过了一会儿,我意识到涉及很多宏的东西,我找不到真正的内存分配完成的代码(即malloc调用).

find . -exec grep -i "malloc" '{}' \; -print
Run Code Online (Sandbox Code Playgroud)

它只打印了一些malloc名字中包含单词的Lua宏.Lua VM(和编程语言)根本不使用malloc!

所以这引出了一个问题:现代虚拟机如何处理内存分配?Lua如何从堆中分配内存?除了以外有什么方法可以分配malloc吗?其他方法的优缺点是什么?

我也想知道安全地处理分配的内存的最佳实践,设计模式等.我在Lua的源代码中看到,在分配内存之前有很多间接.我在哪里可以了解这些东西?

c lua memory-management vm-implementation

16
推荐指数
2
解决办法
2412
查看次数

标签 统计

c ×1

lua ×1

memory-management ×1

vm-implementation ×1