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

转载于:https://www.cnblogs.com/linbc/archive/2009/06/20/1507158.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值