C语言中调用LUA(3)--往Lua脚本中传递变量
2017-12-15 18:04
399 查看
1,C代码
2,Lua脚本的内容
3,编译
gcc -o xxx.c xxx /usr/local/lib/liblua.a -ldl -lm
-lm 是连接对应的math库 不然连接了liblua仍然会报错
#include <stdio.h> #include <stdlib.h> #include <lua.h> #include <lualib.h> #include <lauxlib.h> int f(lua_State *L,int x, int y) { int z; lua_getglobal(L,"f"); //获取test.lua中的变量名称 并压入栈中 lua_pushnumber(L,x); //往栈中压入参数 lua_pushnumber(L,y); //do the lua_pcall: 2 means two arguments,1 means one result lua_pcall(L,2,1,0); //使用lua_pcall() 调用指定函数,返回结果会被压入栈 //get the result z = (int)lua_tonumber(L,-1); //获取的结果值 lua_pop(L,1); //释放资源 return z; } int main(void) { //创建一个Lua解释器 lua_State *L=luaL_newstate(); //载入Lua解释会用到的库 luaL_openlibs(L); luaL_dofile(L,"test.lua"); //打开Lua脚本文件 sleep(1); printf("C get the result %d \n",f(L,10,20)); //调用f函数往test.lua中压栈 lua_close(L); return 0; }
2,Lua脚本的内容
print("I'm be tracefered") function f(x,y) print("It is my turn") return x*y end
3,编译
gcc -o xxx.c xxx /usr/local/lib/liblua.a -ldl -lm
-lm 是连接对应的math库 不然连接了liblua仍然会报错
相关文章推荐
- C语言调用Lua脚本
- Lua移植到arm上 并实现在arm上 可以让lua脚本调c语言,C语言调用lua脚本
- C语言调用Lua脚本
- C语言中通过LUA API访问LUA脚本变量的简单例子
- 使用vs2005 C语言调用lua脚本实现hello,world
- Lua移植到arm上 并实现在arm上 可以让lua脚本调c语言,C语言调用lua脚本
- C语言学习4: 函数返回值与传入参数,关于函数值传递和类型隐性转换,变量不同的作用域,static变量,多文件编译例如两个C文件,显示函数调用语句跳转,递归,斐波那契数列,多文件编译相同变量的问题。
- C语言调用Lua脚本
- 如何将c语言的变量传递给shell脚本使用
- C语言中调用lua 脚本执行的效率测试
- Lua移植到arm上 并实现在arm上 可以让lua脚本调c语言,C语言调用lua脚本
- Lua 5.3.3 在C语言中保存Lua中的函数 并调用它
- jenkins给ant脚本传递环境变量
- LUA脚本调用C场景,使用C API访问脚本构造的表
- 在C/C++中调用LUA脚本简介
- Lua教程(三):C语言、C++中调用Lua的Table示例
- 通过a4j:jsFunction 调用原生的javascript方法,并且共享和传递后台bean里面的变量
- javascript 调用其他页面的js函数或变量的脚本
- C语言调用Lua函数
- java中调用lua脚本语言1