最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2014年09月12日 11:25:48   作者:笨木頭  
這篇文章主要介紹了Lua和C++的通信流程分解,本文用一張圖講解了Lua和C++之間的通信流程,并對(duì)每一步做了分解,需要的朋友可以參考下

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

1. Lua的堆棧和全局表

我們來(lái)簡(jiǎn)單解釋一下Lua的堆棧和全局表,堆棧大家應(yīng)該會(huì)比較熟悉,它主要是用來(lái)讓C++和Lua通信的,是的,它們并不認(rèn)識(shí)對(duì)方,只能通過(guò)堆棧來(lái)溝通,就像寫(xiě)信一樣。
(旁白:它們不會(huì)用微信嗎?!微信~!不知道?)
 
Lua的全局表又是什么呢?可以想象成是一個(gè)map哈希表結(jié)構(gòu),比如Lua有一個(gè)變量:

復(fù)制代碼 代碼如下:
name = “hello”

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

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

現(xiàn)在來(lái)設(shè)計(jì)一個(gè)場(chǎng)景,C++在一次JavaScript開(kāi)發(fā)者大會(huì)上看到Lua在演講,于是C++被Lua深深吸引了。
(旁白:JavaScript大會(huì)…那為毛是Lua在演講~!)
 
我們來(lái)看看這位美麗的Lua小姐長(zhǎng)什么樣:

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

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

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

相關(guān)文章

  • 簡(jiǎn)單談?wù)刲ua和c的交互

    簡(jiǎn)單談?wù)刲ua和c的交互

    要理解Lua和C++交互,首先要理解Lua堆棧。簡(jiǎn)單來(lái)說(shuō),Lua和C/C++語(yǔ)言通信的主要方法是一個(gè)無(wú)處不在的虛擬棧。棧的特點(diǎn)是先進(jìn)后出。
    2016-01-01
  • Lua中讓回調(diào)函數(shù)支持回調(diào)對(duì)象方法的解決方法

    Lua中讓回調(diào)函數(shù)支持回調(diào)對(duì)象方法的解決方法

    這篇文章主要介紹了Lua中讓回調(diào)支持對(duì)象方法,一般情況下,Lua中只支持回調(diào)一個(gè)函數(shù),本文方法實(shí)現(xiàn)可以回調(diào)一個(gè)對(duì)象的方法,需要的朋友可以參考下
    2014-12-12
  • Lua協(xié)同程序函數(shù)coroutine使用實(shí)例

    Lua協(xié)同程序函數(shù)coroutine使用實(shí)例

    這篇文章主要介紹了Lua協(xié)同程序函數(shù)coroutine使用實(shí)例,協(xié)程是協(xié)同程序的簡(jiǎn)稱,顧名思義,就是協(xié)同工作的程序,需要的朋友可以參考下
    2014-09-09
  • Lua中的迭代器和泛型for介紹

    Lua中的迭代器和泛型for介紹

    這篇文章主要介紹了Lua中的迭代器和泛型for介紹,任何一種結(jié)構(gòu),只要允許你遍歷集合中所有元素的都可稱之為迭代器,本文就講解了Lua中迭代器的相關(guān)知識(shí)和代碼實(shí)例,并講解了泛型for的語(yǔ)法,需要的朋友可以參考下
    2015-04-04
  • Lua和C語(yǔ)言的交互詳解

    Lua和C語(yǔ)言的交互詳解

    這篇文章主要介紹了Lua和C語(yǔ)言的交互詳解,Lua和C語(yǔ)言通過(guò)棧完成交互,本文結(jié)合代碼實(shí)例詳細(xì)講解了交互的方法,需要的朋友可以參考下
    2014-09-09
  • Lua腳本實(shí)現(xiàn)遞歸刪除一個(gè)文件夾

    Lua腳本實(shí)現(xiàn)遞歸刪除一個(gè)文件夾

    這篇文章主要介紹了Lua腳本實(shí)現(xiàn)遞歸刪除一個(gè)文件夾,本文給出了C++和Lua兩個(gè)版本的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-05-05
  • 在Mac OS中安裝Lua的教程

    在Mac OS中安裝Lua的教程

    這篇文章主要介紹了在Mac OS中安裝Lua的教程,盡管基于Unix的Mac OS并沒(méi)有集成Lua解釋器,但安裝起來(lái)依然super easy:)需要的朋友可以參考下
    2015-07-07
  • Lua中執(zhí)行系統(tǒng)命令方法介紹

    Lua中執(zhí)行系統(tǒng)命令方法介紹

    這篇文章主要介紹了Lua中執(zhí)行系統(tǒng)命令方法介紹,Lua中有兩種方法可以執(zhí)行操作系統(tǒng)內(nèi)置命令,需要的朋友可以參考下
    2015-04-04
  • Lua教程(七):數(shù)據(jù)結(jié)構(gòu)詳解

    Lua教程(七):數(shù)據(jù)結(jié)構(gòu)詳解

    這篇文章主要介紹了Lua教程(七):數(shù)據(jù)結(jié)構(gòu)詳解,本文講解了數(shù)組、二維數(shù)組、鏈表、隊(duì)列與雙向隊(duì)列、 集合和包(Bag)、StringBuilder等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • Lua table中安全移除元素的方法

    Lua table中安全移除元素的方法

    這篇文章主要介紹了Lua table中安全移除元素的方法,本文給出3種實(shí)現(xiàn)方法,分別是從后往前刪除和while刪除,需要的朋友可以參考下
    2015-06-06

最新評(píng)論

榆中县| 资中县| 大同县| 平远县| 二连浩特市| 临城县| 廊坊市| 南投市| 通海县| 沙洋县| 赤峰市| 九龙坡区| 正阳县| 女性| 称多县| 那坡县| 中阳县| 蒙山县| 枣庄市| 尼勒克县| 南雄市| 清河县| 西平县| 乌恰县| 梁平县| 布尔津县| 新干县| 贞丰县| 右玉县| 宁远县| 措勤县| 玉山县| 佛山市| 祁连县| 高唐县| 綦江县| 德钦县| 安西县| 屏南县| 华宁县| 湄潭县|