主页 > 知识库 > Lua编程示例(六): C语言调用Lua函数

Lua编程示例(六): C语言调用Lua函数

热门标签:呼叫中心市场需求 百度竞价排名 铁路电话系统 AI电销 地方门户网站 服务外包 Linux服务器 网站排名优化

C++端:

#include "stdafx.h"

lua_State *L;
void load_lua(lua_State **L,char *filename){
 *L=luaL_newstate();
 luaL_openlibs(*L);
 if(luaL_loadfile(*L,filename) || lua_pcall(*L,0,0,0)){
 luaL_error(*L,"load file error! %s",lua_tostring(*L,-1));
 }
}
int _tmain(int argc, _TCHAR* argv[])
{
 load_lua(L,"raw.lua"); //此处若直接传入L会出错
 lua_getglobal(L,"gettable");
 if(lua_pcall(L,0,1,0) !=0){
 luaL_error(L,"pcall wrong %s",lua_tostring(L,-1));
 }
 luaL_checktype(L,1,LUA_TTABLE);
 int n=lua_objlen(L,1);
 printf("n = %d\n",n);
 lua_pushstring(L,"ee");
 lua_rawseti(L,1,5); //t[n]=v,n为第三个参数,v是栈顶元素
 n=lua_objlen(L,1);
 printf("n = %d\n",n);
 int i;
 for(i=1;i=n;i++){
 lua_rawgeti(L,1,i);
 printf("%s\n",lua_tostring(L,-1));
 }
 return 0;
}

lua脚本:

 

function gettable() 
  tb={ "aa","bb","cc","dd"} 
  return tb 
end 

运行输出的结果为:

n = 4 
n = 5 
aa 
bb 
cc 
dd 
ee

您可能感兴趣的文章:
  • C语言与Lua之间的相互调用详解
  • C++利用LuaIntf调用Lua的方法示例
  • 简单谈谈lua和c的交互
  • Lua调用自定义C模块
  • Lua编程示例(五): C语言对Lua表的读取和添加
  • Lua编程示例(一):select、debug、可变参数、table操作、error
  • Lua中调用C++函数示例
  • C++中调用Lua配置文件和响应函数示例
  • 使用Lua来扩展C++程序的方法
  • Lua和C/C++互相调用实例分析

标签:仙桃 兰州 铜川 湘潭 黄山 湖南 崇左 衡水

巨人网络通讯声明:本文标题《Lua编程示例(六): C语言调用Lua函数》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266