如何动态加载C++函数

How to dynamically load C++ function

本文关键字:加载 C++ 函数 动态 何动态      更新时间:2023-10-16

我有一个C++应用程序,如何从test.cpp函数加载函数并执行它?我需要Windows和Linux的解决方案。我需要这个,因为我的应用程序用户应该根据需要更改此功能。

谢谢!

在纯 c++ 中几乎是不可能的。这是因为您必须先编译函数。当你有一个对象时,ou可以动态地将其链接到你的程序中,但这不是你打算做的,我希望。

您可能想查看脚本语言,例如LUA等,这些语言具有用于C ++的良好文档API(以及其他)

您还可以随应用程序一起交付 gcc,并从应用程序本身调用它(exec..()) 但这很重。

共享库中使这个函数"dll or so"linux",然后你可以使用"extern"和library(.lib)或'LibraryLoad (Windows)或dlopen(linux)"动态调用它。这是在C ++中要做的方法。但是你必须让你的函数调用从你的程序中理解为静态..