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

專職C++

不能停止的腳步

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  163 Posts :: 7 Stories :: 135 Comments :: 0 Trackbacks

常用鏈接

留言簿(28)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

lua語言是一個非常好用的語言,一個特點是,非常輕量級。二個特點是,非容易擴展。三個特點是,lua與C++互調非常容易。
可以將一個C++中類的大部分方法,都可以綁定成lua語言的一部分。
下面的代碼,是綁定我的庫中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}
下面是綁定我的庫中字符串的代碼
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)
        ];
}
下面兩個,是調用lua的XAnsiString與XDateTime輸出的函數。這兩個函數在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));
}
下面,就是定義這些函數的lua語言代碼
----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,就可以有了一個已經擴展了的lua語言運營環境。
int main(int argc, char * argv[])
{
    lua_State 
*= lua_open();    //初始化lua
    gL 
= L;
    luaL_openlibs(L);    
//載入所有lua標準庫
    luaL_dofile(L, 
"add.lua");
    Init(L);
    
string s;
    cout
<<"lua>";
    
while(getline(cin,s))    //從cin中讀入一行到s
    {
        
if( s == "exit()" ) 
        {
            break;
        }
        
//載入s里的lua代碼后執行
        bool err 
= luaL_loadbuffer(L, s.c_str(), s.length(),
            
"line") || lua_pcall(L, 000);
        
if(err)
        {
            
//如果錯誤,顯示
            cerr 
<< lua_tostring(L, -1);
            
//彈出錯誤信息所在的最上層棧
            lua_pop(L, 
1);
            cout
<<endl;
        }
        cout
<<"lua>";
    }

    lua_close(L);
//關閉
    return 
0;
}
這里,使用luabind使用lua語言擴展和C++相互調用,非常簡單。
posted on 2010-11-05 17:08 冬瓜 閱讀(1893) 評論(1)  編輯 收藏 引用 所屬分類: 原創

Feedback

# re: 一個luabind簡單類綁定 2010-11-07 17:22 expter
下午用了原來LUABIND可以支持。  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲视频一区在线| 国产精品一区二区三区成人| 亚洲精品国产精品久久清纯直播 | 先锋影院在线亚洲| 亚洲欧美日韩视频一区| 午夜精品国产更新| 久久国产免费| 欧美电影免费观看高清| 欧美高清视频一二三区| 亚洲人午夜精品免费| aa级大片欧美三级| 午夜一区在线| 免费精品99久久国产综合精品| 欧美精品一区二区三区视频| 国产精品理论片| 亚洲成人在线视频网站| 9国产精品视频| 久久精品国产欧美激情| 亚洲国产美女| 午夜欧美理论片| 欧美精品一区二区蜜臀亚洲| 国产精品久久久久久久久久久久久 | 久久大逼视频| 欧美成人中文字幕| 国产亚洲精品高潮| 99成人在线| 免费成人在线视频网站| 日韩视频精品| 麻豆av一区二区三区久久| 亚洲精品视频在线播放| 午夜视频一区在线观看| 欧美国产综合视频| 国内精品伊人久久久久av影院| 亚洲精品久久久久久下一站 | 亚洲精品极品| 久久精品一区二区三区中文字幕 | 久久国产加勒比精品无码| 欧美精品日韩综合在线| 在线播放不卡| 欧美中文字幕久久| 一区二区三区四区国产精品| 欧美国产第二页| 精品99一区二区| 久久久91精品| 欧美一区二区三区精品| 国产精品毛片va一区二区三区| 日韩香蕉视频| 亚洲国产一区在线观看| 久久综合伊人77777蜜臀| 国产一区二区三区网站| 欧美一级久久久| 亚洲免费视频网站| 国产精品一区二区久久精品| 亚洲欧美日韩成人高清在线一区| 亚洲美女网站| 欧美丝袜第一区| 亚洲性线免费观看视频成熟| 亚洲精品乱码久久久久久| 欧美成人免费全部观看天天性色| 亚洲高清资源综合久久精品| 免费精品99久久国产综合精品| 久久久91精品| 1000部国产精品成人观看| 免费的成人av| 欧美精品久久久久久| 一本色道久久88精品综合| 亚洲美女精品一区| 欧美午夜在线观看| 欧美一区三区三区高中清蜜桃 | 欧美自拍丝袜亚洲| 韩日在线一区| 欧美成人亚洲成人| 欧美—级a级欧美特级ar全黄| 亚洲激情国产精品| 亚洲精品日韩综合观看成人91| 欧美日韩123| 午夜欧美不卡精品aaaaa| 新片速递亚洲合集欧美合集| 伊甸园精品99久久久久久| 欧美福利专区| 欧美视频久久| 久久亚洲综合色| 欧美激情久久久| 在线一区二区三区做爰视频网站| 久久午夜激情| 亚洲国产影院| 亚洲视频一区在线| 国产一区二区中文| 欧美激情在线观看| 国产精品久久久久9999| 免费欧美高清视频| 欧美午夜精品久久久久久浪潮| 久久蜜桃精品| 欧美日韩三级电影在线| 久久久久久久波多野高潮日日| 欧美成人资源| 久久成人精品视频| 欧美精品激情blacked18| 久久久久九九九| 欧美久久99| 免费人成网站在线观看欧美高清| 欧美日韩高清免费| 久久av红桃一区二区小说| 欧美国产一区二区| 欧美主播一区二区三区美女 久久精品人 | 亚洲欧美精品在线| 99精品国产一区二区青青牛奶| 亚洲影视综合| 一本到12不卡视频在线dvd| 欧美在线在线| 亚洲制服av| 欧美激情一区二区三区成人| 久久久久在线| 国产精品你懂的在线| 亚洲国产美女精品久久久久∴| 国产亚洲欧美一区二区三区| 亚洲精品自在在线观看| 亚洲国产精品成人综合色在线婷婷| 亚洲一品av免费观看| 一区二区激情| 欧美国产日韩免费| 欧美成人一区二免费视频软件| 国产亚洲激情在线| 亚洲免费在线精品一区| 亚洲午夜久久久久久尤物| 欧美成人国产| 欧美国产在线观看| 在线日韩中文字幕| 久久久午夜视频| 久久裸体艺术| 好看的av在线不卡观看| 午夜视频一区| 久久天天躁狠狠躁夜夜av| 国产亚洲va综合人人澡精品| 亚洲欧美日韩久久精品| 欧美亚洲一级片| 国产精品欧美激情| 亚洲欧美日韩一区| 久久精品理论片| 国产有码一区二区| 欧美一区精品| 久久综合九色欧美综合狠狠| 精品1区2区3区4区| 另类酷文…触手系列精品集v1小说| 鲁大师影院一区二区三区| 在线观看日韩av电影| 在线观看成人小视频| 亚洲国产成人在线| 亚洲国产成人一区| 免费91麻豆精品国产自产在线观看| 久久免费国产| 亚洲日本欧美在线| 欧美日韩亚洲综合| 亚洲女人天堂成人av在线| 久久婷婷综合激情| 亚洲黄网站黄| 欧美视频二区| 久久精品毛片| 亚洲国产精品一区二区第四页av| 亚洲激情自拍| 国产精品久久久久77777| 久久精品免费| 亚洲另类春色国产| 久久久成人网| 日韩午夜精品| 国内精品久久久久久久影视麻豆| 老司机午夜精品视频在线观看| 亚洲精品永久免费| 久久久久久电影| 99精品欧美一区二区蜜桃免费| 国产精品亚洲片夜色在线| 久久亚洲综合| 亚洲尤物视频在线| 亚洲第一精品电影| 欧美一二三视频| 日韩午夜三级在线| 国内成人精品2018免费看 | 国产精品自拍在线| 久久婷婷av| 在线一区欧美| 亚洲福利精品| 久久久久在线| 亚洲欧美日韩中文视频| 亚洲国产日韩欧美在线图片| 国产精品人人做人人爽| 欧美另类高清视频在线| 久久国产精品久久国产精品| 一本色道久久综合狠狠躁篇怎么玩| 久久综合亚州| 香蕉久久一区二区不卡无毒影院| 91久久久久久久久| 在线成人www免费观看视频| 国产精品久久亚洲7777| 欧美激情综合在线| 欧美va亚洲va国产综合| 久久精品亚洲一区二区三区浴池| 亚洲一级片在线观看| 日韩视频中文| 亚洲日韩第九十九页| 欧美激情在线|