我可以从文件中保存和加载C++函数吗?

Can I save and load a C++ function from a file?

本文关键字:C++ 函数 加载 文件 保存 我可以      更新时间:2023-10-16

我有一个GUI类,它存储指向在鼠标按下事件等事件时触发的函数的指针。我希望能够读取和写入该函数存储在文件中的内存块,然后像DLL一样将其加载回内存中。有没有办法这样做?我也完全了解脚本解释器,如Lua或Python,但我想实际写出一个C++函数。

没有实用的方法可以做到这一点。问题在于,编译器可能会优化函数的某些部分或内联或拆分为多个部分。此外,您可能会遇到链接、调用约定等方面的问题。最后,该函数可能取决于全局状态,在这种情况下,它无论如何都不会工作。

最好的办法是定义一种序列化格式,该格式表示对应用程序中一组特定核心函数的一系列调用。或者只是使用脚本语言,这是同样的事情,只是更好,为你做。Lua嵌入的重量非常轻。