第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

LUA腳本的幾個疑問?

LUA腳本的幾個疑問?

哆啦的時光機 2018-10-11 11:03:50
如何用dostring來運行l(wèi)ua文件用dostring來運行一個有返回值的函數,如何獲取返回值聽說lua執(zhí)行函數是單線程,而且執(zhí)行一個帶參的函數需要自己清理堆棧為什么綁定的c++函數,只能接收一個參數,而且必須是一個int返回值.如:int Show_Msg(LuaState* state)關于dofile:對于dofile是不是讀取一個文件的所有指令,然后每條都會去執(zhí)行dotring.如果不是,用兩個線程,調用同樣的帶返回值的函數.一個是調用dostring一個dofilre調用文件(文件內也是同樣的指令)那么長時間執(zhí)行后,兩方數據是否會被破壞?還有兩點忘了寫lua默認為全局變量那么 形參和返回值是臨時的還是全局的呢?funciton Msg(x,y)a=x+yreturn aend其中的 x,y,a是全局的還是臨時的
查看完整描述

1 回答

?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

a = dostring.....

dostring最后一個返回值,就是準備給a的。
c++綁定函數返回時,它只能且必須返回一個值,這個值通知Lua,我返回了幾個值在堆棧里。你不返回這個值的話,難道讓Lua去猜你會返回幾個值?你這里設了返回值個數后,Lua才會給你分配保留適當的空間,不然你返回后,之前放的返回值就丟了。

dofile和dostring一樣,會先獲取源文件或字符串內容,然后編譯,再逐條執(zhí)行代碼。
你說的多線程,我不明白你的意思,就不說了。

最后那個x和y當然是臨時的,而那個a,是全局的了。

Lua5.2和之前的版本不一樣了,“全局”不是真正的全局,而是當前環(huán)境的全局,仔細去看看Lua5.2的官方文檔。



查看完整回答
反對 回復 2018-11-16
  • 1 回答
  • 0 關注
  • 769 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號