C编程语言嵌入Lua的用法

本文介绍了如何在C程序中嵌入Lua,以实现更灵活的配置和函数调用。通过示例代码展示了加载Lua脚本、获取全局变量、调用 Lua 函数的方法,并提供了错误处理的提示。
摘要由CSDN通过智能技术生成

C编程语言嵌入Lua的用法


当你希望在你的游戏开始的时候读取一些信息,以配置你的游戏,这些信息通常都是放到一个文本文件中,在你的游戏启动的时候,你需要打开这个文件,然后解析字符串,找到所需要的信息。


    是的,或许你认为这样就足够了,为什么还要使用Lua呢?

    应用于“配置”这个目的,Lua提供给你更为强大,也更为灵活的表达方式,在上一种方式中,你无法根据某些条件来配置你的游戏,Lua提供给你灵活的表达方式,你可以类似于这样来配置你的游戏:

  1. if player:is_dead() then  
  2. do_something()  
  3. else  
  4. do_else()  
  5. end  


更为重要的是,在你做了一些修改之后,完全不需要重新编译你的游戏代码。


通常,在游戏中你并不需要一个单独的解释器,你需要在游戏来运行解释器,下面,让我们来看看,如何在你的代码中运行解释器:

  1. //这是lua所需的三个头文件  
  2. //当然,你需要链接到正确的lib  
  3.   
  4. extern "C"  
  5.   
  6. {  
  7. #include "lua.h"  
  8. #include "lauxlib.h"  
  9. #include "lualib.h"  
  10.   
  11.   
  12. }  
  13.   
  14.   
  15. int main(int argc, char *argv[])  
  16. {  
  17. lua_State *L = lua_open();  
  18.   
  19. // 此处记住,当你使用的是5.1版本以上的Lua时,请修改以下两句为luaL_openlibs(L);  
  20. luaopen_base(L);   
  21. luaopen_io(L);  
  22.   
  23. const char *buf = "print('hello, world!')";  
  24.   
  25. // 记住,当你使用的是5.1版本以上的Lua时请使用luaL_dostring(L,buf);  
  26.   
  27. lua_dostring(buf);  
  28.   
  29. lua_close(L);  
  30.   
  31. return 0;  
  32. }  




程序输出:hello, world!


有时你需要执行一段字符串,有时你可能需要执行一个文件,当你需要执行一个文件时,你可以这么做:
lua_dofile(L, "test.lua");


看,非常简单吧。




取得信息


下面让我
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值