48件ヒット
[1-48件を表示]
(0.033秒)
種類
- インスタンスメソッド (36)
- ライブラリ (12)
ライブラリ
-
fiddle
/ import (36)
モジュール
-
Fiddle
:: Importer (36)
キーワード
- bind (12)
- dlload (12)
-
import
_ symbol (12)
検索結果
先頭4件
-
fiddle
/ import (38048.0) -
fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。
...ずこの fiddle/import ライブラリを使います。
主な使い方は fiddle も参照してください。
=== 高度な使用法
==== ○○の配列を関数に渡したい
例えば与えられた長さ len の double の配列の和を計算する関数
double sum(double *arry, int......ます。
require 'fiddle/import'
module M
extend Fiddle::Importer
dlload './libsum.so'
extern 'double sum(double*, int)'
end
p M.sum([2.0, 3.0, 4.0].pack('d*'), 3) #=> 9.0
また与えられた文字列の配列 s (長さlen)の各要素の最初の文字を buf にコピーする......*buf, int len)
があったとします。これを呼び出すにも以下のように Array#pack を使用します。
require 'fiddle/import'
module M
extend Fiddle::Importer
dlload './libstrfirst.so'
extern 'void first_char(char **, char *, int)'
end
buf = '111'
M.first_char(['Abc... -
Fiddle
:: Importer # bind(signature , *opts) { . . . } -> Fiddle :: Function (14106.0) -
Ruby のブロックを C の関数で wrap し、その関数をモジュールに インポートします。
...Ruby のブロックを C の関数で wrap し、その関数をモジュールに
インポートします。
これでインポートされた関数はモジュール関数として定義されます。
また、Fiddle::Importer#[] で Fiddle::Function オブジェクトとして
取り出す......ネグチャ
@param opts オプション
例
require 'fiddle/import'
module M
extend Fiddle::Importer
dlload "libc.so.6"
typealias "size_t", "unsigned long"
extern "int qsort(void*, size_t, size_t, void*)"
bind("int compare(void*, void*)"){|px, py|
x = px.to_s(... -
Fiddle
:: Importer # import _ symbol(name) -> Fiddle :: Pointer (14100.0) -
取り込んだライブラリからシンボルをインポートします。
取り込んだライブラリからシンボルをインポートします。
返り値はシンボルがロードされたメモリのアドレスを持つ Fiddle::Pointer
オブジェクトを返します。
@param name シンボル名(文字列) -
Fiddle
:: Importer # dlload(*libs) -> () (8100.0) -
C の動的ライブラリをモジュールにインポートします。
...が指しているライブラリをインポート
します。
このメソッドは同じモジュールで2回呼ばないでください。
@param libs インポートするライブラリ
@raise Fiddle::DLError ライブラリのインポートができなかった場合に発生します...