linux c程序调用lua代码的实例

C代码(add.c):

#include <stdio.h>#include <string.h>#include <lua5.1/lua.h>#include <lua5.1/lualib.h>#include <lua5.1/lauxlib.h>/* The lua interpreter */lua_State *L;int luaadd(int x, int y){int sum;/* the function name */lua_getglobal(L, "add");/* the first argument */lua_pushnumber(L, x);/* the second argument */lua_pushnumber(L, y);/* call the function with 2 arguments, return 1 result. */lua_call(L, 2, 1);/* get the result */sum = (int)lua_tonumber(L, -1);/* cleanup the return */lua_pop(L, 1);return sum;}int main (int argc, char **argv){int sum;/* initialize lua */L = lua_open();/* load lua base libraries */luaL_openlibs(L);/* load the script */luaL_dofile(L, "add.lua");/* call the add function */sum = luaadd(10, 15);/* print the result */printf("The sum is %d \n", sum);/* cleanup lua */lua_close(L);return 0;} /* —–End of main()—– */

lua代码(add.lua)#!/usr/bin/luafunction add(…)local s = 0for i, v in ipairs{…} dos = s + vendreturn send编译:

[fulinux@ubuntu ccalllua]$ gcc add.c -llua5.1

运行:

[fulinux@ubuntu ccalllua]$ ./a.outThe sum is 25

代码所在位置:https://git.oschina.net/fulinux/lua

版权声明:本文为博主原创文章,未经博主允许不得转载。

,去陌生的街角,去做一切我们曾经或现在也很想做的事情,

linux c程序调用lua代码的实例

相关文章:

你感兴趣的文章:

标签云: