就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。
9年前关闭。
我正在研究创建一种编程语言。我想知道的是,在包含类引用结构的语言中,没有 new/malloc 运算符是否可行?也就是说,所有变量都存储在堆栈中的某处或静态分配。
这个想法是您可以获得更好的类型安全性,以及“免费垃圾收集”,而实际上没有垃圾收集器。
我不熟悉太多脚本语言,所以如果有人已经这样做了,请随时指出。
(动态/未知大小的数据结构将由动态列表结构处理,该结构将(显然)在用户背后的堆上处理。)
最佳答案
Fortran 一直是一种“通用”语言,但它不支持任何开箱即用的动态内存分配。
通常的做法是静态分配一个大数组并在其上模拟您自己的内存管理。
如果您正在寻找一种摆脱 GC 和手动内存管理的方法,那么 region analysis可以提供帮助,但仅限于少数特定情况。
关于programming-languages - 通用编程语言没有堆是否可行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8526198/