【问题标题】:Hack C, Call scripting func instead of C func?Hack C,调用脚本函数而不是 C 函数?
【发布时间】:2010-11-20 02:04:56
【问题描述】:

情况有点奇怪,但请耐心等待。我需要一种可以在 C(不是 cpp、C)中轻松调用的脚本语言。最好脚本函数可以作为常规 C 函数调用。我需要脚本语言来使用元组,所以我可以编写如下所示的内容。保留我的废话,我只想能够返回元组。返回类型必须是 ptr 并且所有输入都是 void*(元组)、int 或 char*

myfunc(a, b, c, d) {
    a.b = b
    a.z = anotherFunc(b,c)
    return a, d
}
myfunc2(z) {
    a, d = z
    return d+4, a+1
}

【问题讨论】:

  • 如果 myfunc() 是一个脚本函数,即在运行时定义和更改,您如何期望 C 编译器知道它?

标签: c scripting tuples


【解决方案1】:

看看Lua,尤其是API for calling from C。你应该能够用它做你需要的事情。

【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:

      看看Ruby。它是made for calling from C(它是用C 编写的),界面非常简单。此外,您还可以获得一种非常强大的语言——与 Lua 不同。

      作为奖励,它与您指定的函数调用接口非常匹配:

      返回类型必须是 ptr 并且所有输入都是 void*(元组)、int 或 char*

      这几乎正是 Ruby 的函数调用接口所支持的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-01-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-31
        • 1970-01-01
        相关资源
        最近更新 更多