C++ 我可以保存并加载一个C++;从文件中删除函数?

C++ 我可以保存并加载一个C++;从文件中删除函数?,c++,C++,我有一个GUI类,它存储指向在事件(如鼠标按下事件)时触发的函数的指针。我希望能够读写该函数存储在文件中的内存块,然后像DLL一样将其加载回内存。有什么办法可以这样做吗?此外,我完全了解脚本解释程序,如Lua或Python,但我想实际写出一个C++函数。p> 没有切实可行的方法来做到这一点。问题是编译器可能会对函数的某些部分进行优化、内联或拆分。此外,您可能会遇到链接、调用约定等问题。最后,函数可能取决于全局状态,在这种情况下,它无论如何都不会工作 最好是定义一种序列化格式,该格式表示对应用程序

我有一个GUI类,它存储指向在事件(如鼠标按下事件)时触发的函数的指针。我希望能够读写该函数存储在文件中的内存块,然后像DLL一样将其加载回内存。有什么办法可以这样做吗?此外,我完全了解脚本解释程序,如Lua或Python,但我想实际写出一个C++函数。p> 没有切实可行的方法来做到这一点。问题是编译器可能会对函数的某些部分进行优化、内联或拆分。此外,您可能会遇到链接、调用约定等问题。最后,函数可能取决于全局状态,在这种情况下,它无论如何都不会工作


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

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


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

这些函数来自哪里?它们是否链接到您的应用程序?如何链接?你在运行时是否在编译它们?除了运行它们之外,你不能保存或做很多功能,因为它们可以非常分散(特别是C++异常)。这里有一段,那里有一段,最后有一段……如果你想“像DLL一样”加载代码,为什么不直接使用DLL呢?我可以从DLL中读取,但无法保存到它们。要做到这一点,唯一的方法是使用一个编译器,而这不是我想要做的。这些函数来自哪里?它们是否链接到您的应用程序?如何链接?你在运行时是否在编译它们?除了运行它们之外,你不能保存或做很多功能,因为它们可以非常分散(特别是C++异常)。这里有一段,那里有一段,最后有一段……如果你想“像DLL一样”加载代码,为什么不直接使用DLL呢?我可以从DLL中读取,但无法保存到它们。要做到这一点,唯一的办法就是使用一个编译器,这不是我想要做的。这就是我想的。哦,好吧,我就是这么想的。哦,好吧。