本章以string.gsub为例子讲述如何在C语言中调用Lua中的函数。假设我们有一个命名为fordebug.lua的lua脚本:
function add(a, b)
return a + b
end
要在C语言中调用这个add函数的方法想必大家都知道,通过
lua_getglobal(L, "add");
lua_pusnumber(L, 3);
lua_pusnumber(L, 5);
lua_pcall(-3, 2, 1, 0);
就可以调用add函数了。同样,对于string.gsub函数也通过这种方法来调用。
int main(void)
{
lua_State *L = luaL_newstate();
luaL_openlibs(L);
lua_getglobal(L, "string");
lua_getfield(L, -1, "gsub");
lua_pushstring(L, "hello world");
lua_pushstring(L, "llo");
lua_pushstring(L, "***");
lua_pcall(L, 3, 1,0);
lua_close(L);
system("pause");
return 0;
}
运行这段C代码后,我们就可以在栈顶位置看到“he*** world”,说明函数已经成功的执行了。
分享到:
相关推荐
lua.pas+lua5.1.dll即可以调用.lua 此处是lua.pas
基本的调用lua变量与函数,实现文本的获取与显示策略,若要改变显示方式,只要修改move()函数即可.
主要介绍了Lua UnPack函数用法实例,unpack它接受一个数组(table)作为参数,并默认从下标1开始返回数组的所有元素,需要的朋友可以参考下
lua.pas+lua5.1.dll即可以调用.lua 此处是lua5.1.dll
Windows版:lua-utf8.dll(若是用在openresty中,openresty版本需使用32位版本,使用64位版本时会报错“lua-utf8.dll 不是有效的 Win32 应用程序”) 将lua-utf8库放在openresty安装目录下,使用时用require引入。
最简单的C++调用Lua配置.!
adding: lua5.3.5-x86/luac.exe (in=120832) (out=66202) (deflated 45%) adding: lua5.3.5-x86/luac.exp (in=16317) (out=4743) (deflated 71%) adding: lua5.3.5-x86/luac.lib (in=27196) (out=5345) ...
JS和LUA交互,主要是JS和LUA交互实现模版,可以作为参考
5. e12.lua e13.cpp ## c++调用 lua函数 6. e14.cpp e15.lua ## lua调用c++函数 7. 文件夹class ## lua调用c++类 堆栈形式 8 文件夹student ## lua调用c++类, table形式 build: works/lua_demo$ ./build.sh e13....
主要介绍了C语言中调用Lua函数实例,本文讲解了调用一个Lua函数的步骤和C语言调用Lua函数实例,需要的朋友可以参考下
lua解密工具微微有点老..也有不少不会编译的..本菜狗集成了一下.. 其实工具主要作用是处理unlua的中文问题.
strokeit调用api函数.lua,strokeit调用api函数.lua,strokeit调用api函数.lua,strokeit调用api函数.lua,
Lua Game Development Cookbook.pdf
lua中字符串索引从前往后是1,2,……,从后往前是-1,-2……。 string库中所有的function都不会直接操作字符串,只返回一个结果。 【基本函数】 函数 描述 示例 结果 len 计算字符串长度 string.len(“abcd”) 4 rep ...
在Linux底下,从C语言调用Lua代码的一个简单例子。
lua调用c函数库的demo 其中实现了对一个 数组的管理。 注意lua参数与c函数的对应, 如:b=lua_dllb.getarray(a,1) static int getarray(lua_State* L) { NumArray * a=(NumArray*)lua_touserdata(L,1); //对应lua...
在Linux底下,从Lua中调用C函数的一个简单例子。
luajava-1.1.jar
可以在64位的win7下使用的LuaXML_lib.dll
关于tolua++的资料太少,这个通过实例让你知道如何通过tolua++和C++交互,简单明了。 通过5个文件来演示这个tolua++版 hello world hello.lua ,hello.h ,hello.pkg ,...这个程序实现了脚本调用C++类的成员函数方法