在C++中使用LUA

新建LUA库工程

静态库,在共享DLL中使用MFC
这里写图片描述

在预编译器中定义LUA_BUILD_AS_DLL

这里写图片描述

生成

新建Demo工程

添加链接器,头文件目录,库目录

以下面的方式包含头文件

extern "C"
{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"                                              
}

初始例子

// LuaDemo.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"

extern "C"
{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"                                              

}

int main()
{
    //初始化lua虚拟机//
    lua_State *lua_state = luaL_newstate();

    //设置待注册的Lua标准库
    static const luaL_Reg lualibs[]=
    {
        {"base",luaopen_base},
        {NULL,NULL}
    };

    //注册标准库并清空堆栈//
    const luaL_Reg *lib = lualibs;
    for (;lib->func!=NULL;lib++)
    {
        luaL_requiref(lua_state, lib->name, lib->func, 1);
        lua_pop(lua_state, 1);
    }

    //运行lua脚本//
    luaL_dostring(lua_state, "int a=1");

    //关闭虚拟机//
    lua_close(lua_state);

    getchar();
    return 0;
}

猜你喜欢

转载自blog.csdn.net/wei242425445/article/details/80819203
今日推荐