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

C++優(yōu)雅之旅

探索C++

  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  15 隨筆 :: 0 文章 :: 20 評(píng)論 :: 0 Trackbacks
  剛開(kāi)始學(xué)習(xí)Luabind,所以算是一些簡(jiǎn)單的筆記。
  使用Luabind前要包含相關(guān)的頭文件,引入luabind命名空間。注意包含luabind.hpp并不會(huì)自動(dòng)包含lua相關(guān)頭文件,要根據(jù)需要自己添加。

 
#include <luabind/luabind.hpp>

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

using namespace luabind;

  假設(shè)有以下類定義:
 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 }
 
  創(chuàng)建一個(gè)bindClass函數(shù),用來(lái)進(jìn)行導(dǎo)出類的相關(guān)工作
 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)    // 請(qǐng)注意static成員函數(shù)Singleton()導(dǎo)出時(shí)和非靜態(tài)成員函數(shù)的寫法區(qū)別,
                                                                     // 和全局函數(shù)的導(dǎo)出寫法一樣。

11         ];
12 
13     return 0;
14 }
  def模版類中定義導(dǎo)出函數(shù)時(shí),成員函數(shù)指針一定要用取地址符&,如TestClass::Print()。而自由函數(shù)和靜態(tài)函數(shù)可用可不用,如TestClass::Singleton()。
  現(xiàn)在就可以寫代碼測(cè)試了:
// 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 
  運(yùn)行結(jié)果:

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

評(píng)論

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

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

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

# re: Luabind導(dǎo)出類到lua 2012-12-26 16:07 Havien
bindClass這個(gè)方法在哪兒調(diào)用呢。  回復(fù)  更多評(píng)論
  

# re: Luabind導(dǎo)出類到lua 2014-07-24 10:21 滔海縱舟
構(gòu)造函數(shù)里應(yīng)該加上一行
TestClass::mSingleton = this;  回復(fù)  更多評(píng)論
  

# re: Luabind導(dǎo)出類到lua 2014-07-24 10:22 滔海縱舟
Init(L) ->> bindClass(L)  回復(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>
            一区二区三区 在线观看视频| 久久影院午夜论| 久久久美女艺术照精彩视频福利播放| av成人黄色| 99精品黄色片免费大全| 日韩午夜免费| 亚洲欧美日韩天堂| 销魂美女一区二区三区视频在线| 午夜综合激情| 久久夜色精品| 亚洲黄网站在线观看| 亚洲电影免费观看高清| 亚洲黑丝在线| 中文高清一区| 久久xxxx| 欧美二区乱c少妇| 欧美日韩午夜精品| 国产乱码精品一区二区三区不卡| 国产综合精品| 亚洲人成小说网站色在线| 日韩亚洲视频在线| 亚洲一区二区av电影| 久久久久久久精| 亚洲国产清纯| 亚洲一区在线免费| 久久综合伊人77777麻豆| 欧美日本韩国一区| 国产亚洲一二三区| 一个人看的www久久| 久久午夜激情| 亚洲图片欧洲图片日韩av| 欧美在线日韩在线| 欧美日韩高清区| 韩国一区二区三区在线观看| 亚洲美女精品久久| 久久精品色图| 日韩视频在线播放| 久久婷婷久久一区二区三区| 欧美日韩裸体免费视频| 国产曰批免费观看久久久| 一区二区精品在线观看| 另类人畜视频在线| 亚洲制服av| 欧美精品一区二区三区很污很色的 | 亚洲国产日韩欧美在线动漫| 亚洲一区二区三区高清不卡| av72成人在线| 欧美精品日本| 国产精品中文字幕欧美| 亚洲精品孕妇| 免费视频亚洲| 久久精品国产免费观看| 国产精品一区二区a| 亚洲社区在线观看| 91久久中文| 欧美成人资源网| 玉米视频成人免费看| 久久男女视频| 欧美一区国产在线| 国产乱码精品一区二区三区五月婷| 亚洲精品免费一二三区| 欧美成人高清| 激情久久久久久久久久久久久久久久| 夜久久久久久| 日韩一级在线观看| 欧美日韩精品在线| 宅男精品导航| 中国亚洲黄色| 国产欧美日韩综合| 久久精品女人| 久久国产一二区| 一区福利视频| 欧美成人一区在线| 欧美国产视频在线| 亚洲老司机av| 亚洲最新合集| 国产精品自拍网站| 久久久久久婷| 免费在线欧美黄色| 国内不卡一区二区三区| 久久久亚洲高清| 久久亚洲精品一区| 亚洲精品一区二区三区婷婷月| 欧美成人乱码一区二区三区| 久久人人97超碰人人澡爱香蕉| 亚洲国内在线| 一本久久知道综合久久| 国产精品入口福利| 美日韩精品视频免费看| 欧美黄色aa电影| 性做久久久久久| 欧美一区二区视频免费观看| 亚洲福利视频免费观看| 亚洲日本一区二区| 国产精品欧美日韩一区| 久久久人成影片一区二区三区| 久久久久一区| 亚洲免费成人| 亚洲欧美日韩一区| 亚洲黄色影片| 亚洲欧美在线另类| 亚洲人成在线影院| 一区二区三区久久精品| 国产一区二区成人久久免费影院| 欧美成人精品h版在线观看| 欧美日韩亚洲一区二区三区在线| 欧美一级黄色网| 一区二区高清在线观看| 欧美专区日韩视频| 久久久99爱| 亚洲网站在线播放| 久久人人97超碰人人澡爱香蕉| 这里只有精品视频| 久久久久久久成人| 亚洲女人天堂成人av在线| 久久亚洲私人国产精品va| 亚洲欧美日韩在线高清直播| 玖玖精品视频| 久久久午夜精品| 国产精品日本欧美一区二区三区| 久久综合一区| 国产精品久久亚洲7777| 亚洲国产裸拍裸体视频在线观看乱了 | 最新日韩在线视频| 亚洲欧美第一页| 一本色道久久88综合亚洲精品ⅰ| 久久成人人人人精品欧| 亚洲欧美日韩久久精品| 欧美日本精品一区二区三区| 亚洲电影在线播放| 在线观看91精品国产麻豆| 午夜精品美女久久久久av福利| 亚洲视频一区二区| 欧美日韩在线播放三区| 亚洲国产欧美另类丝袜| 亚洲片在线资源| 噜噜噜91成人网| 麻豆精品视频在线观看| 国产香蕉97碰碰久久人人| 亚洲午夜一区二区| 亚洲在线网站| 国产精品久久久久久久午夜片| 夜夜嗨av一区二区三区网站四季av| 亚洲免费成人| 欧美特黄一级大片| 一区二区三区久久| 亚洲综合首页| 国产精品萝li| 亚洲欧美日韩在线综合| 欧美一区二区三区啪啪| 国产一级一区二区| 久久米奇亚洲| 欧美国产日韩免费| 99re6热在线精品视频播放速度| 欧美丰满高潮xxxx喷水动漫| 日韩一级免费| 久久国产精品高清| 1000部精品久久久久久久久| 免费成人在线观看视频| 亚洲欧洲一区二区天堂久久| 日韩视频一区二区| 欧美午夜宅男影院| 欧美一区二区性| 亚洲第一在线| 亚洲综合精品| 一区二区视频欧美| 欧美精品久久天天躁| 日韩亚洲视频| 久久午夜视频| 99在线精品视频| 国产日韩精品电影| 欧美国产视频在线观看| 亚洲一区二区三区久久| 麻豆精品精品国产自在97香蕉| 欧美一级专区免费大片| 欧美激情亚洲精品| 亚洲香蕉网站| 国产一区在线看| 欧美日韩国产页| 久久精品综合一区| 夜色激情一区二区| 欧美r片在线| 亚洲直播在线一区| 最新国产乱人伦偷精品免费网站| 国产精品久久91| 蜜臀av在线播放一区二区三区| 亚洲少妇最新在线视频| 欧美黄色一级视频| 久久国产精品99国产| 亚洲少妇最新在线视频| 在线精品亚洲| 国产毛片一区二区| 欧美午夜精品久久久| 久久亚洲午夜电影| 午夜在线视频观看日韩17c| 亚洲人体影院| 欧美成人精品一区二区三区| 亚洲欧美精品在线观看| 日韩午夜电影av| 亚洲国产毛片完整版|