Lua的离线安装, 与c语言的相互调用举例

1、Linux下的离线安装

 这里给出编译好的lua库及离线安装时必须的其他库。

 链接:https://pan.baidu.com/s/1rNJH8DWq2YBYLCo8IiFJCw
 提取码:q3g7
 里面包含三个文件和一个安装步骤说明,按照步骤可完成Lua库的安装。

2、C 语言调用Lua函数

      linux下编写c语言 add.c文件,代码如下:

//add.c
#include        <stdio.h>
#include        "lua.h"
#include        "lualib.h"
#include        "lauxlib.h"

lua_State* L;

int  luaadd(int x, int y)
{
    int sum;
    lua_getglobal(L,"add"); //lua文件函数名称: add
    lua_pushnumber(L, x);   //第一个参数
    lua_pushnumber(L, y);   //第二个参数
    lua_call(L, 2, 1);      //调用函数,该函数含有2个参数,1个输出结果
    sum = (int)lua_tonumber(L, -1);  //获取结果
    lua_pop(L,1);           //清理返回值
    return sum;
}

int main(int argc, char *argv[])
{
    int sum;
    L = luaL_newstate();   //初始化lua
    luaL_openlibs(L);      //加载lua基础库
    luaL_dofile(L, "add.lua");   //加载lua脚本
    sum = luaadd(10, 15);  //调用函数
    printf("The sum is %d \n",sum);  //打印结果
    lua_close(L);          //清理Lua
    return 0;
}

    编写lua函数,文件名称为add.lua

function add(x,y)
     return x+y
end

执行编译命令:   gcc -o add add.c -llua -lm -ldl    

运行  ./add    得到结果: 

lgh@ubuntu:~/Desktop/LUA$ ./add
The sum is 25 

3、 lua调用 c 语言封装的函数

posted on 2019-04-02 13:41  忠诚的卫士  阅读(411)  评论(0编辑  收藏  举报

导航