【问题标题】:How to make bindings support for a scripting language如何使绑定支持脚本语言
【发布时间】:2013-03-30 16:17:08
【问题描述】:

我正在用 C++ 中的字节码机器制作脚本语言,只是为了好玩。我打算将它与编辑器一起用于一个简单的游戏。但我需要在脚本中更改场景节点的位置、旋转等。这意味着我必须计划一个绑定系统。我根本不知道绑定以及如何制作绑定。这方面的主要方法和技术是什么?

【问题讨论】:

    标签: c++ binding scripting scripting-language


    【解决方案1】:

    如果您想从脚本语言调用固定数量的原始函数,则只需在 VM 中为它们添加指令即可。例如,参见 Betz,“嵌入式语言”,Byte 13 #12(1988 年 11 月)409–416(如果你能找到副本)。

    但是,在运行时绑定名称更加灵活。为此,您需要实现一个用于保存全局变量和函数的环境以及一个从 C 中注册它们的 API。总而言之,这是一个相当大的设计和工作。例如,请参阅 Passing a Language through the Eye of a Needle 中 Lua 如何处理此问题。

    【讨论】:

    • 是的,我认为它会成功的。我可以注册通用模板的函数:func (std::list arguments)。我也可以对类做同样的事情:定义 onMethod (int, std::list arguments)。这些将是包装函数和类。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2011-01-04
    • 1970-01-01
    • 2010-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 2018-03-17
    相关资源
    最近更新 更多