婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > C語言中調用Lua函數實例

C語言中調用Lua函數實例

熱門標簽:地圖標注大廈 清朝地圖標注哈爾濱 怎么去除地圖標注 冀州市地圖標注 武漢外呼防封系統多少錢 漳州智云呼電話機器人 個人怎么在地圖標注需要的店鋪 百度地圖標注早餐區域 新岸線智能電銷機器人

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

在lua API中,調用一個函數的步驟很簡單:

1.壓入你要調用的函數,使用lua_getglobal。
2.壓入調用參數。
3.使用lua_pcall
4.從棧中彈出結果。

舉例說明,假設你有這么一個lua函數:

復制代碼 代碼如下:

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

那么,我們就可以定義個c函數來封裝這個調用:
復制代碼 代碼如下:

/* 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在壓入結果的之前,會將函數,和參數彈出,如果返回多個結果,第一個最先壓入。如果lua_pcall運行出錯,那么會返回個非0值。
(完)

您可能感興趣的文章:
  • Lua教程(二十):Lua調用C函數
  • Lua教程(四):在Lua中調用C語言、C++的函數
  • Lua教程(三):C語言、C++中調用Lua的Table示例
  • C++中調用Lua函數實例
  • Lua中調用C++函數實例
  • Lua調用自定義C模塊
  • Lua中調用C語言函數實例
  • Lua教程(十九):C調用Lua
  • Lua編程示例(六): C語言調用Lua函數
  • C語言與Lua之間的相互調用詳解

標簽:儋州 臺灣 天門 宣城 金昌 濰坊 德宏 天門

巨人網絡通訊聲明:本文標題《C語言中調用Lua函數實例》,本文關鍵詞  語,言中,調用,Lua,函數,實例,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《C語言中調用Lua函數實例》相關的同類信息!
  • 本頁收集關于C語言中調用Lua函數實例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 浙江省| 彰化市| 五常市| 平顺县| 新河县| 海林市| 吉木萨尔县| 克东县| 二连浩特市| 宣化县| 本溪| 巴彦淖尔市| 汨罗市| 辽宁省| 德清县| 西华县| 崇信县| 阿巴嘎旗| 武冈市| 青铜峡市| 邵武市| 阳春市| 昆明市| 永泰县| 津市市| 扶沟县| 梨树县| 大新县| 杭锦后旗| 湖南省| 临沧市| 洛川县| 乌拉特前旗| 荔浦县| 普定县| 田东县| 连山| 六安市| 赣榆县| 喀什市| 赤水市|