Lua 学習:LuaJIT の FFI 使用法

2016-01-16 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での blogramのランクインカテゴリは、
6、3、0、0、1、 0、0、0、0、0(40)で、換算ポイント 86pt 。
「Firefox」5位に戻った。「C言語」「化学業界」「硝子業界」、
「e-radio」「グルコサミン」「FM COCOLO」bg値変動のみ。
「Perl」「Python」「FM青森」全く変化無し。
・-・ - -・

さて、本文。

前々回(2016-01-12)の記事:「Lua 学習:FFI Library
で、
“LuaJIT”の「FFI Library」のコトを書いた。

それで、使用方法について学習した。

先ずは、最初にある、
Motivating Example: Calling External C Functions
の様なコト。

The GNU C Library: Function Index
から幾つか見繕って、呼び出してみた。

local ffi = require("ffi")

ffi.cdef[[
int rand(void);
int getchar(void);
double sqrt(double);
]]

print( ffi.C.rand() ) -- 乱数生成
print( ffi.C.getchar() ) -- キーボード1文字入力
print( ffi.C.sqrt(3.0) ) -- 平方根算出
これだけで出来ますネ。


次は、
ffi.* API Functions
にある

  clib = ffi.load( name [,global] )

を使って、自作“dll”の呼び出し。


昨年(2015-01-09)の記事:
Clang(+MinGW)でCソースをコンパイル(&リンク)
で書いた自作DLL:
ソースコードは: test_func.c
int Add( int x, int y ){ return x+y; }
これから「test_func.dll」を作って。

出来た DLL を、呼び出す:
local ffi = require'ffi'  -- こう記述しても可
ffi.cdef[[
int Add( int, int );
]]
k_lib = ffi.load( 'test_func' )
print( k_lib.Add( 2, 3 ) )
出来ました。


もっと学習だ。


本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


151222
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
03 | 2017/04 | 05
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク