LuaInterface的简单学习,CLR与Lua相互调用

简单介绍下CLR:
CLR(公共语言运行库,Common Language Runtime),是一个可由多种编程语言使用的运行环境。CLR是 .NET Framework 的主要执行引擎。它的核心功能包括:内存管理,程序集加载,异常处理,安全性和线程同步。

(一)Lua from the CLR
准备工作:

1.LuaForWindows下载地址:http://pan.baidu.com/s/1kU8hiTL(这里测试的是LuaForWindows_v5.1.4-46,安装中包含一个“ SciTE”的编译器,可以用来执行lua程序)
2.LuaInterface下载地址:http://pan.baidu.com/s/1nuB0TgX(这里测试的是luainterface-1.5.3,这里资源比较多,代码比较完整)
3.测试环境:在VS2015中创建一个C#控制台应用程序(luainter),将luainterface-1.5.3压缩包中Built文件夹下面的LuaInterface.dll、luanet.dll直接拖入工程。然后找到已经创建的C#控制台应用程序,添加对LuaInterface.dll的引用。(注意…\bin\Debug文件夹下面,要包含LuaInterface.dll、luanet.dll )
这里写图片描述
*““““““““““““““““““““““““

下面代码展示的功能:
1. CLR访问Lua的Global作用域
2. CLR新建Lua的table表
3. CLR执行Lua脚本代码和脚本文件DoString、DoFile

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using LuaInterface;

namespace luainter
{
   
    class Program
    {
   
        static void Main(string[] args)
        {
            //创建一个Lua解释器,每个Lua实例都相互独立
            Lua lua = new Lua();

            //Lua的索引操作[]可以创建、访问、修改Global作用域,[]里面是变量名
            lua["score"] = 66;
            lua["name"] = "shaco";

            //创建一个空的table
            lua.NewTable("nilTab");

            lua.DoString("score = 100; print(\"i am a lua string\")");
            //执行文件Hello World.lua
            //lua.DoFile("D:\\Lua MyWork\\Hello World.lua");
            //lua.DoFile("string.lua");//此时Lua脚本放在Debug目录下面

            //返回score、name的值
            object[] retVal = lu
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值