首页 文章

语言广泛支持自修改代码?

提问于
浏览
0

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

1 回答

  • 1

    操作系统需要有一些或多或少的"self-modifying code"才能将程序和动态链接库从存储器加载到RAM中,然后释放RAM用于其他事情,做relocation修复等等 . 我的理解是目前的C语言编程语言是迄今为止编写操作系统最流行的语言 . OSDev.org wiki有许多编写新自定义操作系统的技巧,包括对languages suitable for writing an operating system - C,汇编语言,Lisp,Forth,C,C#,PL / 1等的简要讨论 .

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

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

    一些人,当他们说他们想要"self-modifying code"时,真的想要一种语言支持homoiconicity这样的Scheme或其他方言的Lisp,Prolog,TCL,Curl等 .

相关问题