gpt4 book ai didi

c++ - C++ 脚本语言

转载 作者:IT老高 更新时间:2023-10-28 12:29:39 28 4
gpt4 key购买 nike

我对脚本语言有点生疏了,前提是它们最近像蘑菇一样流行:)

今天我认为拥有一种与 C++ 无缝对话的脚本语言会很好,也就是说,可以使用 C++ 类,而且对我来说最重要的是,可以编译成 C++ 或一些 DLL/.SO(加上它的 .h),以便我可以将它链接到我的 C++ 程序并使用脚本定义或实现的类。

我知道我可以嵌入任何流行的脚本语言,例如 lua、ruby、python……但界面通常包含某种“eval”函数,用于评估提供的脚本代码。根据用于耦合 C++ 和脚本语言的工具,将脚本回调集成到 C++ 中可能或多或少容易编写,但我还没有看到任何脚本语言实际上允许我编写独立的模块在我的程序中以 .h 和 .so/dll 的形式公开(可能类似于生成 C++ 代码的脚本语言)。

你知道任何这样的工具/脚本语言吗?

提前致谢。

PD。我一直在思考 Vala或 Haskell 的 GHC。它们生成 C,但不生成 C++...

最佳答案

2020 年更新:今天我可能会使用 Lua + Sol2/3除非我真的想避免 Lua 作为一种语言。在这种情况下,Chaiscript 成为一个很好的候选者,尽管与 Lua+Sol2/3 相比,它在性能方面并不是最优的(尽管多年来它得到了很大的改进,因此在许多情况下它仍然足够好)。猎鹰已经死了好几年了,安息吧。


以下是比语言绑定(bind)更面向 C++ 集成的:

  • ChaiScript - 目前在一个小项目中尝试,有趣的是,这个项目是在考虑 C++ 的情况下制作的,并且只包含一个标题!不确定它是否适合大型项目,但会看到,尝试尝尝!
  • (不再维护) Falcon - 尝试一个大项目,非常棒;它不是 ChaiScript 的“一个包含嵌入”,而是因为它非常灵活,并且完全被认为可以在 C++ 中使用(只有库中的 C++ 代码)——我决定在我最大的项目中坚持使用它,这需要很多脚本灵 active (与 ruby​​/python 相当)
  • AngelScript - 还没试过
  • GameMonkey - 还没试过
  • Io - 还没试过

对于您,如果您真的想用 C++ 编写脚本模块并轻松地将其暴露给脚本语言,我建议您使用 Falcon。它完全是用 C++ 制作的,所有的模块/库都是这样编写的。

关于c++ - C++ 脚本语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3150442/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com