0

哪些编程语言为自修改代码提供了最好的支持?特别是,由于程序需要大量使用自修改代码,我期待能够在不再需要某些代码部分后从内存中删除它们,从而释放内存。此外,如果能够使用某种序列号识别和索引例程(过程、函数等),这将是一个加分项,以便它们可以在运行时在内存中轻松管理(删除、克隆等) .

4

1 回答 1

1

操作系统需要有一些或多或少的“自修改代码”,以便将程序和动态链接库从存储加载到 RAM 中,然后释放该 RAM 用于其他事情,进行重定位修复等。我的理解是目前 C 编程语言是迄今为止编写操作系统的最流行的语言。OSDev.org wiki有许多编写新的自定义操作系统的技巧,包括对适合编写操作系统的语言的简要讨论——C 汇编语言、Lisp、Forth、C++、C#、PL/1 等。

即时 (JIT) 编译器还需要一些或多或少的“自修改代码”来将源文本编译为本机指令并运行它们,然后为下一个热点释放内存。

也许您可以找到一些 OS 项目或 JIT 项目,并使用它们的代码进行相对较少的修改。

少数人,当他们说他们想要“自修改代码”时,真的想要一种支持同音异义的语言,例如 Scheme 或 Lisp、Prolog、TCL、Curl 等的其他方言。

于 2015-07-09T05:36:32.943 回答