【发布时间】:2009-11-03 21:05:33
【问题描述】:
我搜索存在编译器并支持自修改代码的编程语言。我听说 Lisp 支持这些功能,但我想知道是否有更多具有这些功能的 C/C++/D-Like 语言。
澄清我的意思:
我希望能够以某种方式在运行时访问程序代码并对其应用任何类型的更改,即删除命令、添加命令、更改它们。 好像我有我的程序的 AstTree。当然,我不能在编译语言中拥有那棵树,所以它必须做得不同。编译需要将自修改命令转换为二进制等效修改,以便它们可以在运行时与编译后的代码一起工作。
我不想依赖虚拟机,这就是我编译的意思:)
【问题讨论】:
-
“自修改代码”是什么意思,“动态”是什么意思?这两者通常不被视为同义词。如果您能说明您想要什么,我们可能会为您提供更好的帮助。
-
是的,我之前看过 wiki 页面,但我希望其他语言,更像 c/c++。
-
用例是什么?为什么你希望能够在运行时编译代码?您是否尝试过简单地调用 gcc 或其他编译器并将代码加载为动态库?
-
没有我需要这个的单一用例。我更愿意使用这样的语言,玩弄它。一个可能的美国案例可能是 AI 编程和优化,但对我来说,这只是我真正想接触的东西
标签: reflection programming-languages lisp compiled self-modifying