青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 119  文章 - 290  trackbacks - 0

博客搬家了哦,請(qǐng)移步
叫我abc

常用鏈接

留言簿(12)

隨筆分類

我的博客

搜索

  •  

積分與排名

  • 積分 - 305531
  • 排名 - 84

最新評(píng)論

閱讀排行榜

通常調(diào)用一個(gè)lua函數(shù)需要以下步驟

//1.解析函數(shù)名,將lua函數(shù)壓棧
findLuaItem( "a.b.c.func" );
//2.參數(shù)壓棧
lua_push()
//3.函數(shù)調(diào)用
lua_call()

最慢的是第一步解析函數(shù)名、反復(fù)查表的過程,這個(gè)過程會(huì)消耗不少時(shí)間和空間。
如果可以避開這個(gè)過程,就能提升效率。

函數(shù)總有函數(shù)指針,就算lua函數(shù)沒有,也該有個(gè)handler吧。這個(gè)想法在LuaBind中得到了確認(rèn),他用一個(gè)int做lua函數(shù)的句柄。
接下來看了看lua SDK,沒有發(fā)現(xiàn)返回lua函數(shù)句柄的API,于是想到了這個(gè)點(diǎn)子:用一個(gè)表保存需要調(diào)用的lua函數(shù),表的key就是lua函數(shù)的句柄。
CustomTable[ handler ] = a.b.c.func

在C中訪問lua的表,需要表索引。當(dāng)時(shí)想到的只有LUA_GLOBALSINDEX,后來從同學(xué)那知道還有LUA_ENVIRONINDEX和LUA_REGISTRYINDEX。考慮了一下,覺得registry表最合適。
Lua provides a registry, a pre-defined table that can be used by any C code to store whatever Lua value it needs to store. This table is always located at pseudo-index LUA_REGISTRYINDEX. Any C library can store data into this table, but it should take care to choose keys different from those used by other libraries, to avoid collisions. Typically, you should use as key a string containing your library name or a light userdata with the address of a C object in your code.

要將lua函數(shù)保存到這個(gè)表。lua提供了在表里增加一個(gè)條目的API,luaL_ref,返回值是新條目的key,一個(gè)整數(shù)。這樣就萬(wàn)事俱備了。
程序初始化階段,給所有會(huì)調(diào)用的lua函數(shù)分配句柄:

1findLuaItem( “a.b.c.func" );
2int handler = luaL_ref( L , LUA_REGISTRYINDEX );

以后調(diào)用lua函數(shù):
1//將lua函數(shù)壓棧
2lua_rawgeti( L , LUA_REGISTRYINDEX , handler );
3
4lua_push();
5lua_call();

that is it
posted on 2008-10-17 20:00 LOGOS 閱讀(9263) 評(píng)論(2)  編輯 收藏 引用

FeedBack:
# re: 高效調(diào)用lua函數(shù) 2009-10-12 19:03 wtf
27.3.2 References
你應(yīng)該記住,永遠(yuǎn)不要使用數(shù)字作為registry 的key,因?yàn)檫@種類型的key是保留給reference系統(tǒng)使用。Reference系統(tǒng)是由輔助庫(kù)中的一對(duì)函數(shù)組成,這對(duì)函數(shù)用來不需要擔(dān)心名稱沖突的將值保存到registry 中去。(實(shí)際上,這些函數(shù)可以用于任何一個(gè)表,但他們典型的被用于registry)  回復(fù)  更多評(píng)論
  
# re: 高效調(diào)用lua函數(shù) 2013-11-14 10:34 sdfasf
為什么提示沒有findLuaItem這個(gè)函數(shù)?  回復(fù)  更多評(píng)論
  

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              久久蜜桃资源一区二区老牛| 亚洲国产综合91精品麻豆| 妖精成人www高清在线观看| 欧美人成在线视频| 亚洲视频电影在线| 亚洲一区二区三区影院| 国产一区二区av| 欧美激情一区二区三区蜜桃视频 | 久久久激情视频| 久久久久成人精品| 亚洲精品美女在线观看| av不卡在线| 国内视频精品| 亚洲第一精品在线| 国产精品黄色| 蜜臀久久久99精品久久久久久| 欧美a级片网站| 亚洲男人的天堂在线观看| 亚洲深夜福利| 久久精品免费| 欧美激情亚洲自拍| 午夜精品一区二区在线观看| 久久精品夜色噜噜亚洲a∨| 日韩图片一区| 欧美一区二区精品在线| 999在线观看精品免费不卡网站| 亚洲欧美日韩精品综合在线观看| 在线观看国产欧美| 亚洲性感美女99在线| 亚洲经典三级| 香蕉免费一区二区三区在线观看| 亚洲精品久久久久久一区二区| 亚洲欧美激情视频| av成人免费在线| 久久久久国产成人精品亚洲午夜| 亚洲丝袜av一区| 欧美高清影院| 理论片一区二区在线| 国产精品一区二区在线观看| 亚洲国产视频一区二区| 精品不卡在线| 亚洲一区免费观看| 亚洲视频观看| 欧美日本在线观看| 欧美r片在线| 国产自产高清不卡| 亚洲综合日本| 宅男在线国产精品| 欧美日产国产成人免费图片| 欧美大片在线看免费观看| 国产视频不卡| 亚洲欧美日产图| 亚洲欧美色婷婷| 欧美日韩在线播放一区| 亚洲欧洲日夜超级视频| 亚洲区一区二| 乱码第一页成人| 欧美日韩国内| 亚洲精品视频一区二区三区| 亚洲精选大片| 欧美激情a∨在线视频播放| 欧美激情一区二区三区不卡| 91久久久久| 老鸭窝毛片一区二区三区| 免费欧美高清视频| 亚洲国产高潮在线观看| 欧美.com| 亚洲乱码视频| 亚洲一区国产视频| 国产精品美女在线| 亚洲欧美日本日韩| 久久综合色影院| 亚洲国产精品成人va在线观看| 免费一级欧美片在线观看| 亚洲欧洲在线免费| 亚洲午夜激情网站| 国产精品欧美一区二区三区奶水| 亚洲欧美一区二区激情| 久久久久久九九九九| 在线国产精品播放| 欧美日韩1区| 性欧美xxxx大乳国产app| 久久夜色精品亚洲噜噜国产mv| 在线电影院国产精品| 久久免费视频网站| 日韩视频亚洲视频| 美女视频黄免费的久久| 这里只有精品在线播放| 欧美日本国产视频| 亚洲欧美三级伦理| 另类综合日韩欧美亚洲| 99国产精品国产精品久久| 国产精品久久久久免费a∨| 欧美一区二区三区四区高清| 欧美**字幕| 午夜日韩福利| 91久久夜色精品国产网站| 国产精品福利影院| 老牛嫩草一区二区三区日本| 99视频一区二区三区| 久久这里有精品视频| 亚洲一区二区综合| 在线欧美视频| 国产欧美日韩综合一区在线观看| 美女网站久久| 性做久久久久久久久| 亚洲欧洲一级| 蜜臀久久99精品久久久画质超高清| 一区二区冒白浆视频| 在线成人h网| 国产欧美日韩另类视频免费观看| 欧美1区2区| 久久久九九九九| 亚洲直播在线一区| 日韩一级精品| 亚洲国产成人一区| 久久久综合网站| 欧美亚洲在线播放| 亚洲一区不卡| 一本大道久久a久久精品综合 | 欧美区高清在线| 久久人人97超碰国产公开结果 | 欧美韩日亚洲| 久久婷婷人人澡人人喊人人爽| 亚洲自拍偷拍视频| 99精品国产在热久久婷婷| 亚洲国产岛国毛片在线| 国产一区二区三区久久久久久久久| 欧美亚一区二区| 欧美日韩成人免费| 欧美精品免费在线观看| 欧美成人免费观看| 美女黄毛**国产精品啪啪| 久久久久这里只有精品| 欧美在线91| 欧美制服第一页| 欧美一区二区视频在线| 性久久久久久久久久久久| 亚洲欧美国产视频| 亚洲欧美日韩一区二区三区在线| 亚洲天堂av在线免费| 亚洲午夜精品久久| 亚洲午夜羞羞片| 亚洲综合成人婷婷小说| 亚洲欧美成人一区二区在线电影 | 亚洲免费小视频| 亚洲欧美一区二区三区极速播放| 亚洲女人天堂av| 欧美中日韩免费视频| 久久精品男女| 欧美不卡一卡二卡免费版| 欧美激情二区三区| 欧美无乱码久久久免费午夜一区| 欧美午夜宅男影院| 国产亚洲激情| 亚洲国产精品成人久久综合一区| 亚洲日本乱码在线观看| 亚洲视频综合在线| 国产日韩欧美在线| 欧美人妖另类| 国产精品久久国产精品99gif| 国产精品视频久久久| 国产一区二区三区四区三区四 | 欧美日韩黄视频| 国产欧美日韩激情| 亚洲成色999久久网站| 日韩小视频在线观看| 亚洲欧美影音先锋| 免费人成网站在线观看欧美高清 | 久久久久九九九九| 亚洲国产成人av好男人在线观看| av成人天堂| 欧美在线视频在线播放完整版免费观看 | 新狼窝色av性久久久久久| 蜜臀久久99精品久久久画质超高清| 亚洲国产一区二区精品专区| 亚洲午夜久久久久久久久电影网| 久久久久久亚洲精品杨幂换脸| 欧美精品18+| 狠狠色丁香久久婷婷综合_中| 亚洲毛片在线观看| 久久久精品一区二区三区| 亚洲精品一区二区三区婷婷月| 香港成人在线视频| 欧美区二区三区| 亚洲高清免费视频| 欧美一区二区三区日韩| 亚洲国产一区二区三区高清| 久久riav二区三区| 国产精品久久综合| 日韩午夜三级在线| 狂野欧美一区| 午夜精品电影| 欧美日韩一区二区国产| 91久久精品美女| 久久最新视频| 欧美一区二区三区的| 国产精品国产三级国产aⅴ9色| 亚洲国语精品自产拍在线观看| 久久精品男女|