国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#和lua相互調(diào)用的方法教程

2020-01-24 00:26:18
字體:
供稿:網(wǎng)友

前言

自從ulua在官網(wǎng)上出來后,lua 就被u3d開發(fā)人員喜愛。國內(nèi)有幾個高手把lua拿過來 接著進行了封裝。很多都是新手轉(zhuǎn)過來。lua語法一看遍知,但是大多數(shù)人還是不明白兩個語言之間的互相調(diào)用是怎么一回事,這也是難點和重點。所以今天想跟大家分享一下這方面的知識,讓大家少走彎路吧。

Lua是一種很好的擴展性語言,Lua解釋器被設(shè)計成一個很容易嵌入到宿主程序的庫。LuaInterface則用于實現(xiàn)Lua和CLR的混合編程。

C與lua交互面臨以下幾個問題:

1、由于lua里面的數(shù)據(jù)都是動態(tài)加載的所以內(nèi)存也是動態(tài)分配的,也沒有static 這樣的修飾,而C里面有 static const 這樣的靜態(tài)類型數(shù)據(jù)

2、c里面是手動管理內(nèi)存lua 里面是自動管理內(nèi)存

所以為了解決這些問題就采用了一個抽象棧來讓lua與c交換值,好比c里面的 void*  可以指向任何地址而不用管存儲類型。這樣兩邊都不管你傳的何種類型的參數(shù),只用知道它是一個地址指針。兩邊用的時候再強制轉(zhuǎn)換成對應(yīng)的類型。

下面開始本文的正文吧。

(一)C#調(diào)用Lua

測試環(huán)境:在VS2015中建一個C#控制臺應(yīng)用程序,并添加LuaInterface.dll的引用

LuaInterface下載地址:http://luaforge.net/projects/luainterface/(下載luainterface-1.5.3,這里面的資源比較多)

LuaInterface.Lua類是CLR訪問Lua解釋器的主要接口,一個LuaInterface.Lua類對象就代表了一個Lua解釋器(或Lua執(zhí)行環(huán)境),Lua解釋器可以同時存在多個,并且它們之間是完全相互獨立的。

簡單說明下步驟:

在根目錄處添加LuaInterface.dll的引用:

  

  

主站蜘蛛池模板: 县级市| 舞阳县| 聊城市| 兴文县| 桂平市| 安多县| 寻乌县| 晋中市| 丹巴县| 郯城县| 德惠市| 西乡县| 常熟市| 万年县| 石泉县| 台中市| 浪卡子县| 泰兴市| 桑植县| 旌德县| 兖州市| 邮箱| 宜君县| 元氏县| 濮阳县| 扎赉特旗| 台安县| 湘阴县| 新邵县| 濮阳市| 米易县| 青铜峡市| 开化县| 舒城县| 绍兴市| 灵台县| 濮阳市| 同仁县| 潜山县| 天峨县| 漯河市|