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

主頁(yè) > 知識(shí)庫(kù) > Lua中調(diào)用C++函數(shù)示例

Lua中調(diào)用C++函數(shù)示例

熱門(mén)標(biāo)簽:杞縣地圖標(biāo)注app 海口智能語(yǔ)音電銷(xiāo)機(jī)器人好用嗎 艾比利外呼系統(tǒng) 電話機(jī)器人每天搜索多少次 免費(fèi)門(mén)店地圖標(biāo)注注冊(cè)入駐 外呼系統(tǒng)一天耗費(fèi)多少流量 陜西便宜電銷(xiāo)機(jī)器人軟件 衡水外呼線路解決 昆明電話外呼系統(tǒng)好么

Lua當(dāng)然也能夠調(diào)用C中定義的函數(shù)。一個(gè)平均數(shù)的例子,解釋一下。
  
下面給出的C++函數(shù)average()演示了如何接受多個(gè)參數(shù)且返回超過(guò)一個(gè)值。
1.lua_gettop函數(shù)返回棧頂?shù)乃饕怠R驗(yàn)樵贚ua中棧是從1開(kāi)始編號(hào)的,因此該函數(shù)獲得的值就是參數(shù)的個(gè)數(shù)。

2.在for循環(huán)中計(jì)算所有參數(shù)之和。
3.調(diào)用lua_pushnumber()將參數(shù)的平均值壓棧。 
4.最后,函數(shù)返回1,說(shuō)明有一個(gè)返回值在棧中。
現(xiàn)在C++函數(shù)已經(jīng)被定義好了,我們必須將它告訴Lua解釋器。這將在main函數(shù)中初始化Lua解釋器和載入庫(kù)完成之后完成注冊(cè)函數(shù):

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

lua_register(L, "avg", average);  //第二參數(shù)為L(zhǎng)ua中調(diào)用的函數(shù)名 

 
C++端:
 

#include "stdafx.h" 
#includestdio.h> 
 
extern "C" { //如不用extern會(huì)出現(xiàn)連接錯(cuò)誤,編譯成了C++文件 
#include lua.h> 
#include lualib.h> 
#include lauxlib.h> 
} 
 
int average(lua_State *L){ 
 int n= lua_gettop(L); 
 int i; 
 double sum=0; 
 for(i=0;in;i++){ 
  sum+=lua_tonumber(L,-1); 
  lua_pop(L,1); 
 } 
 lua_pushnumber(L,sum/n); 
 if(!lua_isnumber(L,-1)) 
  luaL_error(L,"push error!\n"); 
 return 1; 
} 
 
int _tmain(int argc, _TCHAR* argv[]) 
{ 
 lua_State* L = lua_open(); 
 luaL_openlibs(L); //新版本庫(kù)添加的方法 
 
 lua_register(L,"avg",average); 
 luaL_dofile(L,"cof.lua"); 
 
 getchar(); 
 return 0; 
} 

Lua文件:

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

print("avg is ",avg(1,2,3,4,5,6,7,8)) 

運(yùn)行程序即可實(shí)現(xiàn)求平均數(shù)的功能

您可能感興趣的文章:
  • Lua和C/C++互相調(diào)用實(shí)例分析
  • C++利用LuaIntf調(diào)用Lua的方法示例
  • 使用Lua來(lái)擴(kuò)展C++程序的方法
  • 把Lua函數(shù)傳遞到C/C++中實(shí)例
  • Lua和C++語(yǔ)言的交互詳解
  • C++與Lua交互原理實(shí)例詳解

標(biāo)簽:西寧 臨滄 宿遷 營(yíng)口 泰安 海口 昌都 南京

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Lua中調(diào)用C++函數(shù)示例》,本文關(guān)鍵詞  Lua,中,調(diào)用,C++,函數(shù),示例,;如發(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中調(diào)用C++函數(shù)示例》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Lua中調(diào)用C++函數(shù)示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 凤山县| 兖州市| 北票市| 大丰市| 监利县| 汝城县| 荔波县| 栖霞市| 京山县| 沂水县| 沈阳市| 榆树市| 孙吴县| 三原县| 武穴市| 台州市| 枝江市| 佛冈县| 平罗县| 夏邑县| 衢州市| 乌兰县| 乳山市| 宁波市| 太谷县| 安图县| 台前县| 星座| 定西市| 泊头市| 乐东| 红安县| 仁寿县| 衡东县| 海安县| 遵义县| 健康| 宁陵县| 资中县| 宁陕县| 邮箱|