原文:Lua和C語言的交互——C API

Lua可作為擴展性語言 Lua可以作為程序庫用來擴展應用的功能 ,同時也是個可擴展的語言 Lua程序中可以注冊由其他語言實現的函數 。 C和Lua交互的部分稱為C API。C API是一個C代碼與Lua進行交互的函數集。他由以下部分組成:讀寫Lua全局變量的函數 調用Lua函數的函數 運行Lua代碼片斷的函數 注冊C函數然后可以在Lua中被調用的函數,等等。 API中有些函數為了方便以宏的方式實 ...

2014-07-27 21:46 1 16762 推薦指數:

查看詳情

C語言Lua之間交互的原理

建議去看《Lua程序設計》24-28章,里面詳細介紹了LuaC語言之間的通信原理,多看函數是怎么調用的,就會理解了虛擬棧是怎么操作的,以下是我看完后的總結。 為什么Lua可以作為熱更新語言 首先我們得知道什么是熱更新,簡單來說,就是在用戶通下載安裝APP之后,打開App時遇到的即時更新。本質 ...

Sat Mar 12 20:10:00 CST 2022 0 1184
C++與Lua交互(四)

引言 通過前幾篇,我們已經對LuaC API有了一定的了解,如lua_push*、lua_is*、lua_to*等等。用C++調用Lua數據時,我們主要運用lua_getglobal與lua_push*配合以達到目的。現在我們來試試用Lua調用C++數據。 C++數據類型映射到Lua ...

Sun Mar 23 20:01:00 CST 2014 10 7406
C++與Lua交互(五)

引言 要將C++中的對象類型映射到Lua中,就不得不要先了解Lua面向對象的機制。在這里,我們先看一下Lua面向對象的實現基礎——metatable,再以此實現C++對象到Lua的映射。 Lua面向對象 不得不先提一下Lua的幾種函數寫法,普通函數有兩種寫法: 如果要將一個普通函數賦 ...

Tue Apr 15 18:16:00 CST 2014 7 5312
C++與Lua交互(三)

通過上一篇的熱身,我們對C++調用lua變量有了一個認識,現在讓我們再深入一點,去探索一下如何調用lua的函數、表。 Lua與宿主通訊的關鍵——棧 lua是個動態腳本語言,它的數據類型如何映射到C++這種靜態類型語言中?lua是有GC機制的,這與C++手動管理內存相悖。如何解決這些問題 ...

Thu Mar 13 19:59:00 CST 2014 2 3015
[Lua]與c#的交互(一)

參考鏈接: https://www.cnblogs.com/chinarbolg/p/9601452.html luainterface下載(推薦用1.5.3): http://files ...

Sun Jan 26 21:55:00 CST 2020 0 1266
LuaC交互

LuaC交互 Lua是一個嵌入式的語言,它不僅可以是一個獨立運行的程序,也可以是一個用來嵌入其它應用的程序庫。 C API是一個C代碼與Lua進行交互的函數集,它由以下幾部分構成: 1、 讀寫Lua全局變量的函數; 2、 調用Lua函數的函數; 3、 運行Lua代碼 ...

Thu Oct 30 00:00:00 CST 2014 0 7227
LuaC 交互之UserData(4)

lua作為腳本於要能夠使用宿主語言的類型,不管是宿主基本的或者擴展的類型結構,所以Lua提供的UserData來滿足擴展的需求。在Lua中使用宿主語言的類型至少要考慮到幾個方面: 數據內存 生命周期 數據操作 下面的內容主要參考《Lua程序設計》,數據保存在Lua堆棧 ...

Tue Feb 21 02:40:00 CST 2017 0 8385
C++與Lua交互(一)

引言 之前做手游項目時,客戶端用lua做腳本,基本所有游戲邏輯都用它完成,玩起來有點不爽,感覺“太重”了。而我又比較偏服務端這邊(僅有C++),所以熱情不高。最近,加入了一個端游項目,客戶端和服務器都用了lua,各種玩法是讓我眼界大開。在此,寫下自己的心得與體會,希望能與大家共同探討進步 ...

Wed Feb 26 06:48:00 CST 2014 12 4543
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM