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

C++優雅之旅

探索C++

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  15 隨筆 :: 0 文章 :: 20 評論 :: 0 Trackbacks
  剛開始學習Luabind,所以算是一些簡單的筆記。
  使用Luabind前要包含相關的頭文件,引入luabind命名空間。注意包含luabind.hpp并不會自動包含lua相關頭文件,要根據需要自己添加。

 
#include <luabind/luabind.hpp>

extern "C"
{
#include 
<lua.h>
#include 
<lualib.h>
}

using namespace luabind;

  假設有以下類定義:
 1 // TestClass.h
 2 class TestClass
 3 {
 4 public:
 5 
 6     TestClass(string s);
 7 
 8     static TestClass* Singleton();
 9 
10     void Print();
11 
12 private:
13 
14     static TestClass* mSingleton;
15 
16     string mString;
17 };
18 
19 // TestClass.cpp
20 TestClass* TestClass::mSingleton = NULL;
21 
22 TestClass::TestClass(string s)
23 {
24     mString = s;
25 }
26 
27 TestClass* TestClass::Singleton()
28 {
29     if (TestClass::mSingleton == NULL)
30     {
31         return new TestClass("Hello");
32     }
33     else
34     {
35         return mSingleton;
36     }
37 }
38 
39 void TestClass::Print()
40 {
41     cout << mString << endl;
42 }
 
  創建一個bindClass函數,用來進行導出類的相關工作
 1 int bindClass(lua_State* L)
 2 {
 3     open(L);
 4 
 5     module(L)
 6         [
 7             class_<TestClass>("TestClass")
 8             .def(constructor<string>())
 9             .def("Print"&TestClass::Print),
10             def("Singleton"TestClass::Singleton)    // 請注意static成員函數Singleton()導出時和非靜態成員函數的寫法區別,
                                                                     // 和全局函數的導出寫法一樣。

11         ];
12 
13     return 0;
14 }
  def模版類中定義導出函數時,成員函數指針一定要用取地址符&,如TestClass::Print()。而自由函數和靜態函數可用可不用,如TestClass::Singleton()。
  現在就可以寫代碼測試了:
// test.lua
1 testClass = Singleton()
2 testClass:Print()

// main.cpp
 1 int _tmain(int argc, _TCHAR* argv[])
 2 {
 3     TestClass testClass("Hello from lua.");
 4     
 5     lua_State* L = luaL_newstate();
 6 
 7     init(L);
 8 
 9     luaL_dofile(L, "add.lua");
10 
11     lua_close(L);
12 
13     return 0;
14 }
15 
  運行結果:

posted on 2009-05-02 01:32 林公子 閱讀(2974) 評論(6)  編輯 收藏 引用 所屬分類: Lua

評論

# re: Luabind導出類到lua 2009-07-30 11:03 Eric Xiang
if (TestClass::mSingleton = NULL) 這句有BUG  回復  更多評論
  

# re: Luabind導出類到lua 2009-09-11 13:53 liutp
if (TestClass::mSingleton = NULL) 這句是什么BUG ?  回復  更多評論
  

# re: Luabind導出類到lua 2009-09-25 10:00 林公子
@Eric Xiang
@liutp
不好意思,手誤犯了低級錯誤
if (TestClass::mSingleton = NULL) 應為
if (TestClass::mSingleton == NULL)
或者寫為
if (NULL == TestClass::mSingleton)
可以避免不小心將等號寫為賦值符。  回復  更多評論
  

# re: Luabind導出類到lua 2012-12-26 16:07 Havien
bindClass這個方法在哪兒調用呢。  回復  更多評論
  

# re: Luabind導出類到lua 2014-07-24 10:21 滔海縱舟
構造函數里應該加上一行
TestClass::mSingleton = this;  回復  更多評論
  

# re: Luabind導出類到lua 2014-07-24 10:22 滔海縱舟
Init(L) ->> bindClass(L)  回復  更多評論
  


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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午夜观看| 国产在线精品一区二区夜色| 亚洲第一页中文字幕| 亚洲经典三级| 亚洲特黄一级片| 久久国产精品久久w女人spa| 裸体一区二区三区| 91久久中文字幕| 亚洲一区在线看| 久久综合伊人77777| 欧美日韩免费一区二区三区视频 | 欧美成人免费网站| 亚洲国产欧美不卡在线观看| 9人人澡人人爽人人精品| 午夜日韩福利| 欧美激情2020午夜免费观看| 国产精品亚洲аv天堂网| 亚洲成色www久久网站| 亚洲影院免费| 欧美激情一区在线| 欧美在线日韩| 国产精品久久久久影院色老大| 一区二区三区在线视频免费观看| 在线午夜精品自拍| 暖暖成人免费视频| 亚洲欧美美女| 欧美日韩亚洲激情| 激情欧美国产欧美| 午夜精品久久久久影视| 亚洲第一页自拍| 久久精品国产久精国产一老狼| 欧美日韩综合网| 99精品国产热久久91蜜凸| 猛干欧美女孩| 久久精品国产欧美激情| 国产乱码精品一区二区三区不卡| 99riav久久精品riav| 另类天堂av| 久久福利视频导航| 国产亚洲电影| 欧美一区二区精品| 亚洲综合第一页| 国产精品久久久久久五月尺| 一区二区欧美精品| 亚洲片国产一区一级在线观看| 久久免费视频在线| 国际精品欧美精品| 久久久精品一区二区三区| 亚洲自啪免费| 国产欧美精品xxxx另类| 欧美在线视频网站| 91久久精品www人人做人人爽| 久久精品在线观看| 亚洲精品乱码久久久久久蜜桃麻豆 | 亚洲精品欧美日韩| 久久字幕精品一区| 久久精品一二三区| 一区二区三区亚洲| 免费在线成人av| 蜜乳av另类精品一区二区| 亚洲电影免费观看高清完整版| 久久久久久久性| 狂野欧美性猛交xxxx巴西| 亚洲大胆人体在线| 欧美高清一区二区| 欧美日韩八区| 亚洲欧美中文日韩v在线观看| 亚洲一区二区三区免费视频| 国产亚洲欧美另类中文| 免费一级欧美片在线播放| 欧美成人一区二区三区| 一区二区三区四区国产精品| 亚洲一区国产视频| 国产一区亚洲| 亚洲高清不卡在线| 国产精品高清网站| 久久婷婷国产麻豆91天堂| 农夫在线精品视频免费观看| 一区二区三区高清在线| 亚洲一区二区三区色| 国产一区二区三区高清| 亚洲国产精品黑人久久久| 欧美性猛交99久久久久99按摩 | 国产亚洲精品激情久久| 欧美激情片在线观看| 欧美日韩综合网| 美女999久久久精品视频| 欧美视频不卡中文| 老司机一区二区三区| 欧美日韩免费在线视频| 久久全球大尺度高清视频| 欧美精品日韩精品| 久久久999精品免费| 欧美日韩国产在线| 免费高清在线视频一区·| 欧美三级韩国三级日本三斤| 久久在线视频在线| 欧美午夜精品电影| 亚洲二区在线观看| 国产精品每日更新| 亚洲国产高潮在线观看| 狠狠色综合网站久久久久久久| 一区二区不卡在线视频 午夜欧美不卡在| 国产自产女人91一区在线观看| 亚洲精品乱码久久久久久按摩观| 激情婷婷久久| 欧美日韩精品福利| 亚洲在线观看免费| 麻豆av一区二区三区| 久久久精品国产免费观看同学| 欧美日韩一区在线观看视频| 免费黄网站欧美| 国产一区二区精品在线观看| 一区二区黄色| 夜久久久久久| 毛片av中文字幕一区二区| 久久久久久夜| 国产欧美一区视频| 亚洲调教视频在线观看| 日韩视频精品在线| 蜜桃视频一区| 欧美黑人多人双交| 久久久久成人精品| 久久综合伊人77777蜜臀| 国产一区二区高清视频| 亚洲欧美日韩综合aⅴ视频| 亚洲欧美乱综合| 欧美性猛交xxxx乱大交退制版| 亚洲肉体裸体xxxx137| 亚洲久久在线| 欧美高清在线一区| 亚洲精品久久久久久下一站| 一二三区精品福利视频| 欧美裸体一区二区三区| 亚洲美女在线视频| 亚洲午夜精品久久| 国产精品久久久久三级| 亚洲自拍偷拍福利| 欧美一级免费视频| 国产一区二区三区久久精品| 亚洲欧美日韩中文在线制服| 久久久久久亚洲综合影院红桃| 精品粉嫩aⅴ一区二区三区四区| 久久久99国产精品免费| 欧美激情麻豆| 亚洲一区三区电影在线观看| 国产精品欧美一区喷水| 欧美一区二区三区日韩视频| 男女激情视频一区| 亚洲精品一区二区三区在线观看| 欧美理论在线播放| 亚洲性色视频| 久久久久久穴| 亚洲免费电影在线| 国产嫩草一区二区三区在线观看 | 久久爱www久久做| 欧美不卡在线视频| 99精品热6080yy久久| 国产精品日日摸夜夜添夜夜av| 欧美在线一区二区| 91久久精品网| 欧美一区二区在线播放| 136国产福利精品导航| 欧美伦理视频网站| 久久国产视频网站| 日韩网站在线看片你懂的| 久久精品国产亚洲aⅴ| 99re国产精品| 国内精品一区二区| 欧美日韩亚洲免费| 久久影视精品| 亚洲亚洲精品三区日韩精品在线视频| 国产精品高潮粉嫩av| 欧美在线观看视频| 一区二区在线看| 欧美日韩一区二区三区四区五区| 欧美一区二区三区日韩| 日韩西西人体444www| 久久综合国产精品| 香蕉免费一区二区三区在线观看 | 亚洲电影第三页| 国产精品久久久免费| 女人色偷偷aa久久天堂| 欧美一区二区三区视频在线| 日韩亚洲在线| 亚洲国产精品视频一区| 免费成人高清在线视频| 欧美在线影院| 午夜精品久久久久影视| 亚洲一区bb| 99精品黄色片免费大全| 亚洲日本久久|