Lua教程(十九):C调用Lua

1. 基础:

    Lua的一项重要用途就是作为一种配置语言。现在从一个简单的示例开始吧。

 

    --这里是用Lua代码定义的窗口大小的配置信息

    width = 200

    height = 300

 


    下面是读取配置信息的C/C++代码:  

#include <stdio.h>

#include <string.h>

#include <lua.hpp>

#include <lauxlib.h>

#include <lualib.h>

void load(lua_State* L, const char* fname, int* w, int* h) {

    if (luaL_loadfile(L,fname) || lua_pcall(L,0,0,0)) {

        printf("Error Msg is %s.\n",lua_tostring(L,-1));

        return;

    }

    lua_getglobal(L,"width");

    lua_getglobal(L,"height");

    if (!lua_isnumber(L,-2)) {

        printf("'width' should be a number\n" );

        return;

    }

    if (!lua_isnumber(L,-1)) {

        printf("'height' should be a number\n" );

        return;

    }

    *w = lua_tointeger(L,-2);

    *h = lua_tointeger(L,-1);

}

int main()

{

    lua_State* L = luaL_newstate();

    int w,h;

    load(L,"D:/test.lua",&w,&h);

    printf("width = %d, height = %d\n",w,h);

    lua_close(L);

    return 0;

}

以上是 Lua教程(十九):C调用Lua 的全部内容, 来源链接: utcz.com/z/320922.html

回到顶部