调用Lua函数

我想在Lua和C中处理以下代码:

假设我有一个名为Foo的C函数绑定到Lua.我称之为Lua脚本:

Foo(15, "bar", function(z) return 2 * z + 1 end)

在C方面,我检索参数,我可以在我的结构中存储数字和字符串.但是我需要什么数据类型才能存储匿名函数?我怎么以后再打电话呢?

您不能将Lua函数存储为C数据类型,只能将Lua表存储为C数据类型.

你可以做的是使用the registry来存储这个值.注册表是一个全局可用的表,供所有C用户存储数据.为所有代码选择一个密钥并在该密钥上放置一个表通常是一个好主意.此表将包含要保留的值.这将有助于减少使用注册表的其他C代码的冲突.

相关文章
相关标签/搜索