一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Lua - Lua和C++的通信流程分解

Lua和C++的通信流程分解

2019-11-23 17:56笨木頭 Lua

這篇文章主要介紹了Lua和C++的通信流程分解,本文用一張圖講解了Lua和C++之間的通信流程,并對每一步做了分解,需要的朋友可以參考下

網上關于Lua的教程似乎還沒有泛濫,最近剛好學習在Cocos2d-x使用Lua,當然了,我是寫教程狂,我會分享我的學習心得的~
(旁白:我噗~!每次你寫東西我就要吐槽,你不累么= =)
 
這是第一課,先來讓Lua和C++認識一下,順便讓它們逛街吃飯牽小手什么的…
(旁白:。。。吹,繼續吹)

1. Lua的堆棧和全局表

我們來簡單解釋一下Lua的堆棧和全局表,堆棧大家應該會比較熟悉,它主要是用來讓C++和Lua通信的,是的,它們并不認識對方,只能通過堆棧來溝通,就像寫信一樣。
(旁白:它們不會用微信嗎?!微信~!不知道?)
 
Lua的全局表又是什么呢?可以想象成是一個map哈希表結構,比如Lua有一個變量:

復制代碼代碼如下:
name = “hello”


那么,全局表就存放了”name”和”hello”的對應關系,Lua可以通過name在全局表中查找到hello。應該是這樣的~
(旁白:應該= =!)

 

2. Lua和C++的第一次通信

現在來設計一個場景,C++在一次JavaScript開發者大會上看到Lua在演講,于是C++被Lua深深吸引了。
(旁白:JavaScript大會…那為毛是Lua在演講~!)
 
我們來看看這位美麗的Lua小姐長什么樣:

復制代碼代碼如下:
-- hello.lua 文件
myName = "beauty girl"


OK,一位簡單又美麗Lua小姐。
然后,C++想知道Lua叫什么名字,所以,它們必須要通信了。來看看通信流程:

 

Lua和C++的通信流程分解

請注意紅色數字,代表通信順序:
1) C++想獲取Lua的myName字符串的值,所以它把myName放到Lua堆棧(棧頂),以便Lua能看到
2) Lua從堆棧(棧頂)中獲取myName,此時棧頂再次變為空
3) Lua拿著這個myName去Lua全局表查找myName對應的字符串
4) 全局表返回一個字符串”beauty girl”
5) Lua把取得的“beauty girl”字符串放到堆棧(棧頂)
6) C++可以從Lua堆棧中取得“beauty girl”,也就是這位美麗的Lua小姐的名字了~
世界如此美妙,這是如此的簡單。
(旁白:好吧,這次不吐槽,確實簡單…)
 
不過,(旁白:我就知道~!我就知道事情沒有那么簡單!)這只是最簡單的情況,實際上各種C++和Lua的操作比這要復雜多了,但基本原理是一樣的。
好的,趁著旁白還沒有吐槽,我們要結束第一章了,希望能幫到大家。
(旁白:說得好像我好喜歡搶戲似的,我像這樣的人嗎?= = 等等~!例子呢?Demo呢?)
 
噢,Demo將在下一章介紹。
(旁白:吊胃口。。。絕對是在吊胃口…你以為我會期待嗎,魂淡…心好癢~!)

延伸 · 閱讀

精彩推薦
  • LuaLua和C語言的交互詳解

    Lua和C語言的交互詳解

    這篇文章主要介紹了Lua和C語言的交互詳解,Lua和C語言通過棧完成交互,本文結合代碼實例詳細講解了交互的方法,需要的朋友可以參考下 ...

    果凍想3702020-04-14
  • LuaLua中table庫函數方法介紹

    Lua中table庫函數方法介紹

    這篇文章主要介紹了Lua中table庫函數方法介紹,本文講解了concat、insert、maxn、remove、sort、foreachi等方法,需要的朋友可以參考下 ...

    腳本之家2502020-04-17
  • LuaLua實現__add方法重載示例

    Lua實現__add方法重載示例

    這篇文章主要介紹了Lua實現__add方法重載示例,本文直接給出實現代碼,需要的朋友可以參考下 ...

    腳本之家7452020-04-24
  • LuaLua中的元方法__newindex詳解

    Lua中的元方法__newindex詳解

    這篇文章主要介紹了Lua中的元方法__newindex詳解,本文講解了查詢與更新、監控賦值、通過table給另一個table賦值等內容,需要的朋友可以參考下 ...

    笨木頭8872020-04-09
  • Lua深入探究Lua中的解析表達式

    深入探究Lua中的解析表達式

    這篇文章主要介紹了深入探究Lua中的解析表達式,對于其語法部分的說明和示例都超詳細,極力推薦此文!需要的朋友可以參考下 ...

    腳本之家3542020-05-05
  • LuaLua簡介、編譯安裝教程及變量等語法介紹

    Lua簡介、編譯安裝教程及變量等語法介紹

    這篇文章主要介紹了Lua簡介、編譯安裝教程及變量等語法介紹,本文同時講解了lua注釋語法、Lua命令行方式等內容,需要的朋友可以參考下 ...

    junjie3632020-04-14
  • LuaLua中計算、執行字符串中Lua代碼的方法

    Lua中計算、執行字符串中Lua代碼的方法

    這篇文章主要介紹了Lua中計算、執行字符串中Lua代碼的方法,類似JavaScript中eval函數的功能,在Lua中也可以實現,需要的朋友可以參考下 ...

    腳本之家6322020-04-30
  • LuaLua教程(二):基礎知識、類型與值介紹

    Lua教程(二):基礎知識、類型與值介紹

    這篇文章主要介紹了Lua教程(二):基礎知識、類型與值介紹,本文講解了Hello World程序、代碼規范、全局變量、類型與值等內容,需要的朋友可以參考下 ...

    腳本之家5922020-04-28
主站蜘蛛池模板: 91麻豆精品激情在线观看最新 | 久久精品免视看国产 | 高肉h护士办公室play | 国产成人免费高清激情明星 | 色老头oldmoneyvideos | 爱福利视频一区二区 | 秋霞鲁丝影院久久人人综合 | 欧美视频一区二区三区四区 | 奶茶视频有容乃大 | 亚洲国产欧美目韩成人综合 | 2020国产精品亚洲综合网 | 手机国产乱子伦精品视频 | 国产高清自拍 | 2020韩国r级理论片在线观看 | 99久久免费精品视频 | 小草视频免费观看在线 | 91aaa免费免费国产在线观看 | 三级无删减高清在线影院 | 91精品国产91热久久久久福利 | 亚洲精品一区制服丝袜 | 91免费高清无砖码区 | 波多野给衣一区二区三区 | 日韩欧美不卡视频 | 成人在线av视频 | 精品四虎国产在免费观看 | 王王的视频ivk | 国产亚洲综合精品一区二区三区 | bl双性受乖调教改造身体 | 国产高清不卡视频在线播放 | 视频一区国产精戏刘婷 | 免费理伦片手机在线播放 | ass韩国美女人体pics | 日本卡一卡2卡3卡4精品卡无人区 | 99re这里只有精品视频在线观看 | 国产亚洲欧美一区二区三区 | 青青青青久久国产片免费精品 | 欧美 国产 日韩 第一页 | 国产精品视频第一区二区三区 | 成人在线观看视频免费 | 邪恶肉肉全彩色无遮琉璃神社 | 成品人视频免费观看 |