主頁(yè) > 知識(shí)庫(kù) > Lua和C++的通信流程分解

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

熱門(mén)標(biāo)簽:400手機(jī)電話免費(fèi)辦理 智能語(yǔ)音電銷的機(jī)器人 如何利用高德地圖標(biāo)注家 上海企業(yè)外呼系統(tǒng)排名 揚(yáng)州電銷外呼系統(tǒng)軟件 電腦外呼系統(tǒng)輻射大嗎 開(kāi)通400電話申請(qǐng)流程 武漢百應(yīng)人工智能電銷機(jī)器人 百度地圖標(biāo)注位置網(wǎng)站

網(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)該= =?。?/p>

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>

您可能感興趣的文章:
  • Lua中基本的數(shù)據(jù)類型、表達(dá)式與流程控制語(yǔ)句講解
  • Lua中的控制結(jié)構(gòu)(流程控制)簡(jiǎn)明總結(jié)
  • Lua基礎(chǔ)教程之賦值語(yǔ)句、表達(dá)式、流程控制、函數(shù)學(xué)習(xí)筆記
  • Lua和C++的通信流程代碼實(shí)例
  • Lua中的變量和流控制入門(mén)學(xué)習(xí)
  • Lua表達(dá)式和控制結(jié)構(gòu)學(xué)習(xí)筆記
  • Lua中的基本語(yǔ)法、控制語(yǔ)句總結(jié)
  • Lua流程控制語(yǔ)句if else的使用示例

標(biāo)簽:新余 宜賓 江西 黑龍江 延邊 嘉峪關(guān) 張掖 武漢

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Lua和C++的通信流程分解》,本文關(guān)鍵詞  Lua,和,C++,的,通信,流程,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Lua和C++的通信流程分解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Lua和C++的通信流程分解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章