• lua快速入门(二)


      lua语法简单,思路清晰,可以很好的描述我们的思想。

    但其做为脚本语言最终也是要嵌入进我们的系统,才能为我们满足需求发光发热。

    那我们现在就来看看lua要怎么与我们的c/c++系统相结合吧。

      lua有几个简单的api可以很容易就可以和c/c++揉合到一起,当然,我们这里只关注最简单的

    几个函数,具体深入还是要看用户手册。在这里只是提供一个helloworld。

      lua_State  Lua解释器

      lua_open  打开一个lua解释器,返回lua_State指针

      luaL_openlibs 加载默认lua库

      luaL_dofile  解释执行脚本文件

      luaL_dostring  解释执行脚本字符串

      lua_close 释放lu解释器

     完整代码如下:

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

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


    #pragma comment(lib,"libLua.lib")

    /* the Lua interpreter */
    lua_State  
    * L;

    int main ( int argc, char *argv[] )
    {
        
    int sum;

        
    //创建一个指向Lua解释器的指针。
        L = lua_open();

        
    //函数加载Lua库
        luaL_openlibs(L);

        
    //加载脚本
        luaL_dofile(L,"test.lua");

        
    //执行字符串
        luaL_dostring(L,"print(a)");

        
    //关闭 释放资源
        lua_close(L);

        getchar();

        
    return 0;
    }

    a='hello world!'  --lua文件很简单,就这一句


     以上代码有几点要注意的

    1)引入库的头文件时记得extern "C",当然也可以修改源码中Lua_API ,这个宏

    2)库文件的名称可能不一定,因为我自己编译了lua,名称故意搞得不一样,以示区别

    3)这一点最莫名其妙,为什么调试运行的时候提示变量未定义呢,而直接运行就没有问题呢?

  • 相关阅读:
    转载一篇文章--一个人和三个人称(周国平)
    第二天学习python的内容
    第一天 python学习的习题
    Linux基础:文件,目录浏览,管理及维护
    Linux基础之命令:Linux命令及获取帮助
    生成器
    迭代器协议
    max函数高级使用方法
    python内置函数、
    filter,map和reduce函数
  • 原文地址:https://www.cnblogs.com/linbc/p/1507158.html
Copyright © 2020-2023  润新知