Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 在运行时将新的编译函数实现注入本机可执行文件?_C_Dynamic Compilation_Runtimemodification - Fatal编程技术网

C 在运行时将新的编译函数实现注入本机可执行文件?

C 在运行时将新的编译函数实现注入本机可执行文件?,c,dynamic-compilation,runtimemodification,C,Dynamic Compilation,Runtimemodification,我正在实现一种类似Lisp的语言,其主要设计目标是与C完全互操作。这意味着静态类型、直接支持C标准定义的所有原语、指针算法和低级内存管理。宏由虚拟机展开,整个程序转换为C并编译。这允许我编译整个程序,但如果我想以交互方式修改和编译特定函数,该怎么办?是否可以使用某些工具将它们重新集成到正在运行的可执行文件中,而无需手动修改程序集?是的,通常可以这样做(生成适当的程序集并将其粘贴到内存的可执行区域中)。关于如何实现它的全面讨论对于SO来说太广泛了。问题是是否有一些东西我可以不用手动处理生成程序集。

我正在实现一种类似Lisp的语言,其主要设计目标是与C完全互操作。这意味着静态类型、直接支持C标准定义的所有原语、指针算法和低级内存管理。宏由虚拟机展开,整个程序转换为C并编译。这允许我编译整个程序,但如果我想以交互方式修改和编译特定函数,该怎么办?是否可以使用某些工具将它们重新集成到正在运行的可执行文件中,而无需手动修改程序集?

是的,通常可以这样做(生成适当的程序集并将其粘贴到内存的可执行区域中)。关于如何实现它的全面讨论对于SO来说太广泛了。问题是是否有一些东西我可以不用手动处理生成程序集。而不是如何手动生成所述程序集。欧欧欧