在C 中构建并运行C -C 脚本(而不是LUA)

build and run c++ within c++ -- c++ scripts (instead of lua)

本文关键字:LUA 构建 运行 脚本      更新时间:2023-10-16

当前,我将lua嵌入我的C 代码中。

我想知道C 是否可以使用。这样,我可以通过对象并在脚本中使用库。为此,我认为我需要从主C 代码中进行以下内容:

  1. 执行脚本的运行
  2. 编译脚本
  3. 运行脚本
  4. 脚本将指针传递给其数据对象
  5. 脚本已完成,程序使用数据对象。

这可能吗?小例子?

对我来说,这很有用,因为我运行了科学计算,我不想停止,但我想即时添加功能。我还认为这对于不想关闭但想更改的C 的服务器很有用。

您可以选择使用某种C 解释器,但他们不能做任何事情。C 是最难实现(如果不是最难的)语言之一。只需考虑一下宏,模板和其他所有使C 尽可能强大的东西,它们真的很难解析和理解,除了所有这些,我们都具有优化的方式,可以为我们创建如此快速且薄的代码,因此解释器如何可以成为如此强大并了解所有这些?即使是最知名的编译器,也可能无法理解所有标准或至少存在理解复杂的C 代码的错误。在我使用MSVC 2010大量使用模板的一个项目中,编译代码大约需要10分钟!因此,口译员通常简化了他们的任务,仅支持完整的C 的子集,因此,如果您使用此解释器,则某些解释器。我从未使用过其中一个,但我听说cint很好。

另一个选项是您有一个免费的编译器,例如g++,实际上将代码编译为某种共享库,然后动态加载它,并根据某种配置从中调用某些功能。