Jer*_*rry 7 c api lua
我想在Lua和C中处理以下代码:
假设我有一个命名为C函数的FooLu 函数.我称之为Lua脚本中的跟随:
Foo
Foo(15, "bar", function(z) return 2 * z + 1 end)
在C方面,我检索参数,我可以在我的结构中存储数字和字符串.但是我需要哪种数据类型来存储匿名函数?我怎么以后再打电话呢?
Nic*_*las 6
您不能将Lua函数存储为C数据类型,只能将Lua表存储为C数据类型.
你可以做的是使用注册表来存储这个值.注册表是一个全局可用的表,供所有C用户存储数据.为所有代码选择一个密钥并在该密钥上放置一个表通常是个好主意.此表将包含要保留的值.这将有助于减少使用注册表的其他C代码的冲突.
lhf*_*lhf 4
您可以将该函数保留在堆栈中的某个位置,也可以使用 luaL_ref 将其保存在注册表或其他表中。
归档时间:
14 年,2 月 前
查看次数:
1870 次
最近记录:
14 年 前