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

C語言中調(diào)用Lua函數(shù)實例

 更新時間:2015年04月23日 10:12:30   投稿:junjie  
這篇文章主要介紹了C語言中調(diào)用Lua函數(shù)實例,本文講解了調(diào)用一個Lua函數(shù)的步驟和C語言調(diào)用Lua函數(shù)實例,需要的朋友可以參考下

記得上學時,初中英文課本中,上網(wǎng)叫做surfing the internet,中文叫網(wǎng)上沖浪。那個時期,人們經(jīng)常稱互聯(lián)網(wǎng)為賽博空間。如今工作了,大量的零碎時間用于上微博,知乎,QQ,這些碎片化的閱讀讓人讀起來輕松,也能獲取些粗淺的信息。然而它們是消耗時間的黑洞,時間就這樣一分一秒地飛逝,年末的時候,知乎會告訴你回答了多少問題,閱讀了相當于一部《紅樓夢》那么多的文字。只是當你靜下來一想,這些淺閱讀并沒給你帶來有深度,系統(tǒng)的知識。在你的時間線上,兩條相鄰信息往往是八竿子也打不著的。而且你還時不時去看看關(guān)注者有沒有更新,期待讓你眼前一亮的信息。結(jié)果往往是趁興而去,敗興而回。屏幕上的信息永無止境地滾動著,是如此的熱鬧,仿佛每個人都在狂歡,而我的內(nèi)心卻如此的空虛與孤獨。

在lua API中,調(diào)用一個函數(shù)的步驟很簡單:

1.壓入你要調(diào)用的函數(shù),使用lua_getglobal。
2.壓入調(diào)用參數(shù)。
3.使用lua_pcall
4.從棧中彈出結(jié)果。

舉例說明,假設(shè)你有這么一個lua函數(shù):

復(fù)制代碼 代碼如下:

function f (x, y)
     return (x^2 * math.sin(y))/(1 - x)
end

那么,我們就可以定義個c函數(shù)來封裝這個調(diào)用:
復(fù)制代碼 代碼如下:

/* call a function 'f' defined in Lua */
double f (double x, double y)
{
double z;
lua_getglobal(L, "f");
lua_pushnumber(L, x);
lua_pushnumber(L, y);
/* do the call (2 arguments, 1 result) */
if (lua_pcall(L, 2, 1, 0) != 0)
     error(L, "error running function 'f': %s",
lua_tostring(L, -1));

if (!lua_isnumber(L, -1))
     error(L, "function 'f' must return a number");
z = lua_tonumber(L, -1);
lua_pop(L, 1);
return z;
}


lua_pcall在壓入結(jié)果的之前,會將函數(shù),和參數(shù)彈出,如果返回多個結(jié)果,第一個最先壓入。如果lua_pcall運行出錯,那么會返回個非0值。
(完)

相關(guān)文章

最新評論

东光县| 台安县| 博爱县| 兴业县| 宜都市| 阿合奇县| 信阳市| 登封市| 呼玛县| 汪清县| 竹溪县| 蒙山县| 峡江县| 谢通门县| 任丘市| 嘉兴市| 灵川县| 达孜县| 资源县| 祁阳县| 黄梅县| 辛集市| 尚志市| 昌吉市| 汝城县| 福清市| 凤凰县| 衢州市| 霍山县| 湘西| 大方县| 江山市| 宝兴县| 陇西县| 遵义市| 当雄县| 游戏| 马龙县| 太原市| 亚东县| 云南省|