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

專職C++

不能停止的腳步

  C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
  163 Posts :: 7 Stories :: 135 Comments :: 0 Trackbacks

常用鏈接

留言簿(28)

我參與的團(tuán)隊(duì)

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

lua語(yǔ)言是一個(gè)非常好用的語(yǔ)言,一個(gè)特點(diǎn)是,非常輕量級(jí)。二個(gè)特點(diǎn)是,非容易擴(kuò)展。三個(gè)特點(diǎn)是,lua與C++互調(diào)非常容易。
可以將一個(gè)C++中類的大部分方法,都可以綁定成lua語(yǔ)言的一部分。
下面的代碼,是綁定我的庫(kù)中DatetTime類的代碼:
 1void InitDateTime(lua_State * L)
 2{
 3    using namespace luabind;
 4    module(L,"zdh")
 5        [
 6            class_<XDate<XAnsiString> >("XDate")
 7            .def(constructor<XInt,XInt,XInt>())
 8            .def(constructor<>())
 9            .def(constructor<XInt>())
10            .def(constructor<const XDate<XAnsiString> &>())
11            .def("SetNowDate",&XDate<XAnsiString>::SetNowDate)
12            .def("GetDay",&XDate<XAnsiString>::getDay)
13            .def("GetMonth",&XDate<XAnsiString>::getMonth)
14            .def("GetYear",&XDate<XAnsiString>::getYear)
15            .def("SetDate",(void (XDate<XAnsiString>::*)(zdh::XInt,zdh::XInt,zdh::XInt))&XDate<XAnsiString>::SetDate)
16            .def("SetDate",(void (XDate<XAnsiString>::*)(zdh::XInt))&XDate<XAnsiString>::SetDate)
17            .def("SetDate",(void (XDate<XAnsiString>::*)(const zdh::XDate<XAnsiString> &))&XDate<XAnsiString>::SetDate)
18            .def("ToString",(zdh::XAnsiString (XDate<XAnsiString>::*)(voidconst)&XDate<XAnsiString>::ToString)
19            .def(self == XDate<XAnsiString>())
20            .def(self < XDate<XAnsiString>())
21            .def(self<=XDate<XAnsiString>())
22        ];
23    //(return_arg-type (classname::*)(arg1-type,grg2-type,))&classname::class_memberfunction
24    //(void(CBase::*)(long))&CBase::Show)
25}
下面是綁定我的庫(kù)中字符串的代碼
void InitString(lua_State * L)
{
    
using namespace luabind;
    module(L,
"zdh")
        [
            class_
<XAnsiString>("XString")
            .def(constructor
<const XChar *>())
            .def(constructor
<>())
            .def(constructor
<const XAnsiString &>())
            .def(
"c_str",(const zdh::XChar * (XAnsiString::*)(voidconst)&XAnsiString::c_str)
            .def(
"getLength",(zdh::XInt (XAnsiString::*)(voidconst)&XAnsiString::getLength)
            .def(
"Trim",(zdh::XAnsiString (XAnsiString::*)(voidconst&XAnsiString::Trim)
            .def(
"Trim",(zdh::XAnsiString & (XAnsiString::*)(zdh::XAnsiString &const)&XAnsiString::Trim)
        ];
}
下面兩個(gè),是調(diào)用lua的XAnsiString與XDateTime輸出的函數(shù)。這兩個(gè)函數(shù)在lua中有定義。
void PrintString(const XAnsiString & paramStr)
{
    luabind::call_function
<void>(gL,"printstring",boost::ref(paramStr));
}
void PrintDate(const XDate<XAnsiString> & paramDate)
{
    luabind::call_function
<void>(gL,"printdate",boost::ref(paramDate));
}
下面,就是定義這些函數(shù)的lua語(yǔ)言代碼
----fun.lua--------
function addint ( x, y )
    
local r = (x + y) * 10
    return r
end
function printstring(s)
    print(s:c_str())
end
function printdate(d)
    printstring(d:ToString())
end
然后,主要使用下面的main,就可以有了一個(gè)已經(jīng)擴(kuò)展了的lua語(yǔ)言運(yùn)營(yíng)環(huán)境。
int main(int argc, char * argv[])
{
    lua_State 
*= lua_open();    //初始化lua
    gL 
= L;
    luaL_openlibs(L);    
//載入所有l(wèi)ua標(biāo)準(zhǔn)庫(kù)
    luaL_dofile(L, 
"add.lua");
    Init(L);
    
string s;
    cout
<<"lua>";
    
while(getline(cin,s))    //從cin中讀入一行到s
    {
        
if( s == "exit()" ) 
        {
            break;
        }
        
//載入s里的lua代碼后執(zhí)行
        bool err 
= luaL_loadbuffer(L, s.c_str(), s.length(),
            
"line") || lua_pcall(L, 000);
        
if(err)
        {
            
//如果錯(cuò)誤,顯示
            cerr 
<< lua_tostring(L, -1);
            
//彈出錯(cuò)誤信息所在的最上層棧
            lua_pop(L, 
1);
            cout
<<endl;
        }
        cout
<<"lua>";
    }

    lua_close(L);
//關(guān)閉
    return 
0;
}
這里,使用luabind使用lua語(yǔ)言擴(kuò)展和C++相互調(diào)用,非常簡(jiǎn)單。
posted on 2010-11-05 17:08 冬瓜 閱讀(1893) 評(píng)論(1)  編輯 收藏 引用 所屬分類: 原創(chuàng)

Feedback

# re: 一個(gè)luabind簡(jiǎn)單類綁定 2010-11-07 17:22 expter
下午用了原來LUABIND可以支持。  回復(fù)  更多評(píng)論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美日韩亚洲国产精品| 久久婷婷丁香| 国产区精品视频| 国产精品xxx在线观看www| 国产精品爱啪在线线免费观看| 欧美日本在线播放| 欧美日韩视频专区在线播放 | 亚洲第一在线综合网站| 久久久久欧美精品| 欧美freesex8一10精品| 亚洲高清视频的网址| 日韩一级成人av| 欧美在线观看www| 免费成人毛片| 国产精品xxxxx| 伊人婷婷欧美激情| 亚洲视频免费看| 久久国产精品久久久久久电车| 久久精品九九| 午夜精品影院| 欧美一区二区三区日韩视频| 香蕉乱码成人久久天堂爱免费| 亚洲欧美日韩综合aⅴ视频| 久久精品色图| 欧美日韩成人| 韩日视频一区| 亚洲一区二区在线| 欧美v日韩v国产v| 国产精品99久久久久久久vr| 欧美va天堂在线| 美玉足脚交一区二区三区图片| 欧美精品在线视频观看| 国产日韩av高清| 一区二区三区四区国产| 久久久午夜电影| 亚洲午夜精品网| 欧美精品在欧美一区二区少妇| 国产精品一区二区久久精品| 亚洲国内自拍| 久久中文字幕一区二区三区| 亚洲午夜电影在线观看| 欧美激情一区二区三区在线| 黑人操亚洲美女惩罚| 午夜精品电影| 亚洲伦理中文字幕| 老巨人导航500精品| 国产人久久人人人人爽| 亚洲影视在线| 亚洲毛片一区二区| 欧美丰满少妇xxxbbb| **网站欧美大片在线观看| 午夜在线精品| 一本久久精品一区二区| 欧美经典一区二区三区| 亚洲第一毛片| 美女国产一区| 久久综合导航| 在线观看国产成人av片| 久久成人羞羞网站| 亚洲欧美另类在线观看| 国产精品久久久亚洲一区| 一区二区三区精品国产| 亚洲福利电影| 免费人成精品欧美精品| 亚洲国产成人av| 蜜臀a∨国产成人精品| 久久精品麻豆| 91久久久久久| 亚洲精品在线看| 欧美性久久久| 久久经典综合| 久久综合伊人77777麻豆| 1024成人| 亚洲精品中文在线| 国产精品高潮呻吟| 午夜精品久久99蜜桃的功能介绍| 亚洲一二三区精品| 国产一区二区福利| 欧美成人综合在线| 欧美国产日韩视频| 亚洲一区中文| 欧美一级视频| 亚洲国产影院| 一区二区国产日产| 国产视频在线一区二区| 欧美不卡视频一区发布| 欧美国产精品人人做人人爱| 日韩视频精品在线| 亚洲香蕉在线观看| 狠狠入ady亚洲精品经典电影| 欧美一区二区三区的| 国产精品一区毛片| 蜜臀av国产精品久久久久| 欧美激情精品久久久久久蜜臀| 在线视频亚洲| 午夜老司机精品| 亚洲精品久久7777| 性欧美办公室18xxxxhd| 亚洲裸体在线观看| 亚洲午夜国产一区99re久久| 原创国产精品91| 中文日韩在线视频| **欧美日韩vr在线| 亚洲婷婷国产精品电影人久久| 国产一区二区精品| 亚洲精品乱码久久久久久黑人| 国产免费成人av| 91久久精品视频| 一区二区在线观看视频在线观看| 亚洲精品乱码久久久久久蜜桃麻豆 | 久久精品亚洲一区| 老色鬼久久亚洲一区二区| 亚洲网站啪啪| 久久亚洲美女| 香蕉视频成人在线观看| 欧美成人中文字幕| 久久久成人网| 国产精品久久久久9999吃药| 欧美激情 亚洲a∨综合| 国产无遮挡一区二区三区毛片日本| 亚洲国内高清视频| 在线欧美不卡| 久久精品官网| 久久成人免费日本黄色| 国产精品av免费在线观看| 亚洲国产精品一区二区尤物区| 国产亚洲午夜| 亚洲欧美日韩国产中文| 亚洲视频一二| 欧美美女操人视频| 亚洲国产99| 在线观看欧美精品| 久久福利一区| 久久久久综合网| 国产一区二区成人久久免费影院| 亚洲香蕉视频| 欧美一区91| 国产欧美精品| 性色av香蕉一区二区| 欧美在线网站| 国产中文一区二区| 久久精品国产v日韩v亚洲| 久久久久一区二区| 亚洲高清在线观看一区| 久久久久中文| 亚洲大胆av| 在线视频免费在线观看一区二区| 欧美极品aⅴ影院| 日韩亚洲精品电影| 亚洲欧美怡红院| 亚洲一区二区三区四区中文| 欧美在线视频一区二区三区| 久久野战av| 亚洲国产日韩在线| 一本色道久久综合亚洲91| 欧美日韩亚洲激情| 一本色道久久综合亚洲精品不卡 | 一区二区三区在线视频观看| 亚洲欧美三级在线| 久久久久久成人| 影音先锋亚洲视频| 欧美成人日本| 99成人精品| 欧美一区二区三区在线看| 国产在线精品自拍| 久久久亚洲影院你懂的| 欧美11—12娇小xxxx| 最近中文字幕日韩精品| 欧美激情一区二区三区在线| 亚洲国产综合视频在线观看| 亚洲香蕉网站| 国产亚洲精品福利| 午夜精品久久久久久| 久久久久久尹人网香蕉| 一本久久综合亚洲鲁鲁| 国产精品一区二区三区四区五区| 校园春色国产精品| 亚洲国产婷婷香蕉久久久久久99 | 亚洲深夜激情| 久久久久久亚洲综合影院红桃| 亚洲国产一区二区三区青草影视| 国产精品va在线| 鲁鲁狠狠狠7777一区二区| 亚洲欧洲精品成人久久奇米网| 午夜精品福利电影| 亚洲破处大片| 国产美女诱惑一区二区| 欧美日韩高清一区| 久久在线免费观看| 亚洲女女女同性video| 亚洲电影成人| 久久久精品国产免费观看同学| 亚洲韩国日本中文字幕| 国产日韩在线视频| 欧美三级在线| 欧美成人精品影院| 欧美综合国产| 亚洲女性裸体视频| 亚洲看片免费| 亚洲高清在线观看一区|