我想将我的应用程序的各个部分移动到简单的脚本中,以允许对 C++ 不甚了解的人能够编辑和实现各种功能。
因为它是一个实时应用程序,所以我需要对这些脚本进行某种多任务处理。理想情况下,我希望它让 c++ 应用程序调用一个脚本函数,然后继续运行(在 c++ 线程下),直到一个暂停点(Wait(x)),或者它返回。在等待的情况下,需要保存状态,以便在持续时间到期后下一次应用程序循环时重新启动脚本。
脚本还需要能够调用 c++ 类方法,最好使用 c++ 类,而不是围绕 c++ 类的普通包装函数。
我不想花费大量时间来实现这一点,因此使用现有的脚本语言比编写自己的脚本语言更可取。我听说 Python 和 Lua 可以集成到一个 c++ 应用程序中,但我不知道如何做到这一点以实现我的目标。
- 脚本必须能够调用 c++ 函数
- 当调用某些函数(例如等待)时,脚本必须能够“暂停”,并由 c++ 线程再次重新启动
- 需要快速——这是一个实时应用程序,可能有很多脚本正在运行。
如果可以保存和重新启动脚本(可能由与原始线程不同的线程),我可能可以相当轻松地滚动多任务代码。