gpt4 book ai didi

c++ - 将 Lua 变量传递给 C

转载 作者:太空狗 更新时间:2023-10-29 20:47:40 25 4
gpt4 key购买 nike

我将 Lua 嵌入到 C++ 应用程序中,我想提供类似 print() 的函数(或者可能只是覆盖 Lua 的打印函数),这样我就可以将简单数据类型(字符串、 bool 值和数字)的变量传递到我的作为字符串的 C++ 应用程序。

所以我想要做的是拥有一个 C++ 函数,我将其导出到 Lua,称为 my_print()

然后我可以像这样在 Lua block 中调用 my_print():

a = 22/7
b = false
c = 42
my_print('The value of variable a is: ' .. a)
my_print('b: ' .. b)
my_print('c is: ' .. c)

每次调用 my_print() 时,它都会将 C++ 字符串传递给 C++ 应用程序。我看过 Lua C API,我怀疑我将不得不使用 lua_gettop(L)、lua_type() 等。

关于如何开始编写这样一个可以导出到 Lua 并以上述方式使用的 C/C++ 函数的小片段,将不胜感激。

最佳答案

你看过 print 和标准 Lua 库中其他函数的实现吗?您可能希望从 lmathlib.c 开始。参见 http://www.lua.org/source/5.1/ .也可以尝试源压缩包中的 etc/min.c

关于c++ - 将 Lua 变量传递给 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5011347/

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