这是我要做的:
>运行程序并初始化一些数据结构.
>然后编译可以访问/修改现有数据结构的附加代码.
>根据需要重复步骤2.
我想要能够在C和C上使用类似Unix的系统(特别是Linux和Mac OS X)上的gcc(最终是Java)来实现.这个想法是为这些语言基本上实现一个read-eval-print循环,在编译表达式和语句时输入它们,并使用它们来修改现有的数据结构(脚本语言完成的任务).我在python中编写这个工具,它生成C/C++文件,但这不是相关的.
我已经探讨了使用共享库执行此操作,但了解到修改共享库不会影响已经在运行的程序.我也尝试使用共享内存,但找不到一种方法来将功能加载到堆上.我也考虑过使用汇编代码,但还没有尝试这样做.
除了gcc之外绝对没有办法,除了gcc之外,我不想使用任何编译器.
如果任何人有任何想法或知道如何做到这一点,任何帮助将不胜感激.