C通过lua C API来与lua脚本交互;当lua_load加载一个提供了很多函数的lua脚本时,整个脚本文件是作为一个整体的,从lua 5.1 手册上可以得到证实,而它的执行就是将脚本中的所有函数导入成了全局函数。
后续使用这些函数时,通过函数名来查找并入栈。lua_getglobal只是将函数找到并将其指针放置在栈中。
在lua环境下回调C函数时,C环境下总是通过正序方式来获取参数。
有一种特别的情况,当调用的方法是一个userdata对象的metatable中的一个方法时,在获取到的第一个参数是userdata对象,也就是说多了一个参数。类似C++中的this指针。
阅读(1016) | 评论(0) | 转发(0) |