一、C Call Lua

来源:互联网 发布:西昊 ergomax 知乎 编辑:程序博客网 时间:2024/05/02 01:48

mac平台下Eclipse的项目的demo.如果是windows. link到lua.lib,或者使用

#pragma comment(lib, "lua.lib")  
#include <stdio.h>//因为Lua是C的函数,而我们的程序是C++的,所以要使用extern "C"引入头文件#include "lua/lua.h"#include "lua/lualib.h"#include "lua/lauxlib.h"#include "lua/luaconf.h"int add(lua_State* L);//int add(lua_State* L){    //从L栈中取出索引为1的数值,并检查    int x = luaL_checkinteger(L,1);    //从L栈中取出索引为2的数值,并检查    int y = luaL_checkinteger(L,2);    printf("result:%d\n",x+y);    return 1;}int main(){    //初始化全局L     lua_State* L = luaL_newstate();//    //打开库    luaL_openlibs(L);//    //把函数压入栈中    lua_pushcfunction(L, add);//    //设置全局ADD    lua_setglobal(L, "ADD");//    //加载我们的lua脚本文件,路径改成自己的    if (luaL_loadfile(L,"User/test.lua"))    {        printf("error\n");    }//    //安全检查    lua_pcall(L,0,0,0);//    //push进lua函数    lua_getglobal(L, "mylua");    lua_pcall(L,0,0,0);//    printf("hello my lua\n")    return 0;}

引用:http://www.cnblogs.com/sifenkesi/p/3876745.html
源代码地址:https://github.com/HumorSmith/Lua

0 0
原创粉丝点击