luajit ffi 使用

結(jié)構(gòu)定義

首先需要使用ffi.cdef定義需要的結(jié)構(gòu)體,如下:

ffi.cdef[[
    #pragma pack(1)
    typedef struct point{
        int x;
        int y;
        char  text[128];
    }point_t;
    #pragma pack()
]];

Lua中創(chuàng)建結(jié)構(gòu)對象

使用ffi.new創(chuàng)建新的結(jié)構(gòu)對象

cdata = ffi.new(ct,   [init])

如初始化一個point_t對象

local p1 = ffi.new('point_t', {x=10, y=20, text='first point'});

訪問結(jié)構(gòu)成員

直接使用.操作符即可晋修。如p1.x,p1.y等恒界。

如果是字符串的話喂柒,需要使用字符串轉(zhuǎn)換函數(shù)

  ffi.string(ptr,  [ len])

帶長度是內(nèi)存拷貝踩蔚,不帶長度是自動以\0結(jié)束。

轉(zhuǎn)換成內(nèi)存塊

  1. 先轉(zhuǎn)換成void指針 pdata = ffi.cast('void', p1)
  2. 在轉(zhuǎn)換成lua string枚粘, ffi.string(pdata, ffi.sizeof(p1))

從內(nèi)存塊轉(zhuǎn)換成

  local p = ffi.cast('point_t *', st)

轉(zhuǎn)換的結(jié)果是一個指針對象

數(shù)組處理

原型

local p =  ffi.new('ct[?]', length, [init..])

分配字符串數(shù)組

  local p = ffi.new('char[?]', 1000)

數(shù)組的訪問下標需要從0開始

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末馅闽,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌福也,老刑警劉巖局骤,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異暴凑,居然都是意外死亡峦甩,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門现喳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凯傲,“玉大人,你說我怎么就攤上這事嗦篱”ィ” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵灸促,是天一觀的道長诫欠。 經(jīng)常有香客問我,道長浴栽,這世上最難降的妖魔是什么荒叼? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮典鸡,結(jié)果婚禮上被廓,老公的妹妹穿的比我還像新娘椿每。我一直安慰自己,他們只是感情好间护,可當我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布汁尺。 她就那樣靜靜地躺著,像睡著了一般痴突。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上帮碰,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天拾积,我揣著相機與錄音丰涉,去河邊找鬼一死。 笑死,一個胖子當著我的面吹牛投慈,可吹牛的內(nèi)容都是我干的冠骄。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼带族,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蟀给?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤择克,失蹤者是張志新(化名)和其女友劉穎前普,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體骡湖,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡峻厚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年惠桃,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辜王。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖肥缔,靈堂內(nèi)的尸體忽然破棺而出汹来,到底是詐尸還是另有隱情怒见,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站炮车,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏瘦穆。R本人自食惡果不足惜赊豌,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望熙兔。 院中可真熱鬧,春花似錦住涉、人聲如沸钠绍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蛾找,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間腋粥,已是汗流浹背架曹。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留展辞,地道東北人。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓罗珍,卻偏偏與公主長得像,于是被迫代替她去往敵國和親覆旱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,216評論 0 4
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 6,365評論 0 17
  • 《廢都》不愧是大陸禁書噪沙,果真黃的可以,看了一小點的時候幾乎要放棄正歼,看到十分之一的時候才真正發(fā)覺,這并不是一本輕浮的...
    茱萸_閱讀 11,104評論 2 0
  • 凌晨一點多贞奋,A在朋友圈里放了一張照片,照片中她坐在書桌前努力備考轿塔,桌子上攤滿了書籍和資料,并配文字:相信努力一定會...
    未末小七閱讀 1,002評論 1 4
  • 天下皆知美之為美勾缭,斯惡已目养。皆知善之為善,斯不善已癌蚁。有無相生,難易相成努释,長短相形,高下相盈伐蒂,音聲相和,前後相隨。恆也...
    景景相依閱讀 319評論 0 1