欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C++調(diào)用Lua代碼配置文件函數(shù)的方法-創(chuàng)新互聯(lián)

C++調(diào)用Lua代碼配置文件函數(shù)的方法?這個(gè)問(wèn)題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見(jiàn)到的。希望通過(guò)這個(gè)問(wèn)題能讓你收獲頗深。下面是小編給大家?guī)?lái)的參考內(nèi)容,讓我們一起來(lái)看看吧!

創(chuàng)新互聯(lián)建站主營(yíng)會(huì)澤網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,手機(jī)APP定制開(kāi)發(fā),會(huì)澤h5成都微信小程序搭建,會(huì)澤網(wǎng)站營(yíng)銷(xiāo)推廣歡迎會(huì)澤等地區(qū)企業(yè)咨詢(xún)

Lua文件里面是有兩個(gè)函數(shù)的,然后用cpp文件調(diào)用代碼,最后,還有很關(guān)鍵的一步,編譯時(shí),我們需要加上附加選項(xiàng): g++ main.cpp -o main -llua -ldl。過(guò)程看起來(lái)簡(jiǎn)單,還是需要?jiǎng)邮植僮鞯摹?/p>

首先你要安裝lua的dev,安裝很簡(jiǎn)單:

yum install lua-devel

即可,很多Linux系統(tǒng)自帶Lua但是沒(méi)有dev,有點(diǎn)小坑。

下面是Lua文件,里面就兩個(gè)函數(shù):

function add(a, b)
    return a + b 
end

function hello()
    print("Hello Lua!!!")
end

之后是cpp文件的調(diào)用代碼:

#include<iostream>
#include<string>

using std::cout;
using std::endl;
using std::string;

//extern的意義,將下面文件當(dāng)成C風(fēng)格文件使用
extern "C"
{
    #include<lua.h>
    #include<lauxlib.h>
    #include<lualib.h>
}

int main()
{
    //創(chuàng)建環(huán)境
    lua_State *L = luaL_newstate();
    if(L == NULL)
    {   
        cout << "State error" << endl;
        return -1; 
    }   

    //加載庫(kù)
    luaL_openlibs(L);
    const string file = "func.lua";
    // 加載文件
    int ret = luaL_dofile(L, file.c_str());
    if(ret)
    {   
        cout << "dofile error" << endl;
        return -1; 
    }   

    //hello函數(shù)沒(méi)有參數(shù),直接調(diào)用
    lua_getglobal(L, "hello");
    lua_pcall(L, 0, 0, 0); //三個(gè)0含義,0實(shí)參,0返回值,0自定義錯(cuò)誤處理

    lua_getglobal(L, "add");  
    //向add函數(shù)傳入兩個(gè)參數(shù),這里直接傳了1和2,傳變量也ok
    lua_pushnumber(L, 1);  
    lua_pushnumber(L, 2); 
    lua_pcall(L,2,1,0);        

    //返回值被放在-1的位置上
    cout << lua_tonumber(L, -1) << endl;

    lua_close(L);

    return 0;
}

最后,還有很關(guān)鍵的一步,編譯時(shí),我們需要加上附加選項(xiàng):

g++ main.cpp -o main -llua -ldl

   看看結(jié)果:

C++調(diào)用Lua代碼配置文件函數(shù)的方法

大功告成

感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)C++調(diào)用Lua代碼配置文件函數(shù)的方法大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享標(biāo)題:C++調(diào)用Lua代碼配置文件函數(shù)的方法-創(chuàng)新互聯(lián)
文章出自:http://chinadenli.net/article4/cohdie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google網(wǎng)站營(yíng)銷(xiāo)全網(wǎng)營(yíng)銷(xiāo)推廣企業(yè)建站網(wǎng)站建設(shè)標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司