zoukankan      html  css  js  c++  java
  • 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)这一点最莫名其妙,为什么调试运行的时候提示变量未定义呢,而直接运行就没有问题呢?

  • 相关阅读:
    sp2010 升级sp2013 用户无法打开网站
    powerviot install in sharepoint 2013
    can not connect cube in performancce dashboard
    westrac server security configure user info
    添加报表服务在多服务器场
    sharepoint 2013 office web app 2013 文档在线浏览 IE11 浏览器不兼容解决方法
    delete job definition
    目前付款申请单内网打开慢的问题
    item style edit in sharepoint 2013
    Could not load file or assembly '$SharePoint.Project.AssemblyFullName$'
  • 原文地址:https://www.cnblogs.com/linbc/p/1507158.html
Copyright © 2011-2022 走看看