102件ヒット
[1-100件を表示]
(0.010秒)
ライブラリ
- fiddle (12)
-
fiddle
/ import (72) -
net
/ ftp (12) -
shell
/ builtin-command (6)
クラス
-
Fiddle
:: Function (12) -
Net
:: FTP (12) -
Shell
:: Void (6)
モジュール
-
Fiddle
:: Importer (72)
検索結果
先頭5件
-
Net
:: FTP # voidcmd(cmd) -> nil (6101.0) -
cmd で指定されたコマンドをサーバーに送ります。
cmd で指定されたコマンドをサーバーに送ります。
@param cmd コマンドを文字列で指定します。
@raise Net::FTPReplyError 応答コードが 2yz 以外の場合に発生します。 -
Shell
:: Void # each(rs = nil) { . . . } -> nil (3001.0) -
何もしません。
何もしません。 -
Fiddle
:: Importer # bind(signature , *opts) { . . . } -> Fiddle :: Function (37.0) -
Ruby のブロックを C の関数で wrap し、その関数をモジュールに インポートします。
...クトとして
取り出すことができます。
signature で関数の名前とシネグチャを指定します。例えば
"int compare(void*, void*)" のように指定します。
opts には :stdcall もしくは :cdecl を渡すことができ、
呼出規約を明示することがで......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::SIZEOF_INT).unpack("i!")
y = py.to_s(Fiddle::SIZEOF_INT).unpack("i!")... -
Fiddle
:: Function # call(*args) -> Integer|DL :: CPtr|nil (19.0) -
関数を呼び出します。
...関数を呼び出し、
その返り値を Ruby のオブジェクトに変換して返します。
引数の変換は以下の通りです。
: void* (つまり任意のポインタ型)
nil ならば C の NULL に変換されます
Fiddle::Pointer は保持している C ポインタに変......動小数点数に変換します
返り値の変換は以下の通りです。
: void
nil を返します
: (unsigned) char/short/int/long/long long
C の整数を Ruby の整数に変換します
: void*(つまり任意のポインタ型)
C のポインタを保持した Fiddle::Pointe... -
Fiddle
:: Importer # struct(signature) -> Class (13.0) -
C の構造体型に対応する Ruby のクラスを構築して返します。
...したものの配列
require 'fiddle/import'
module M
extend Fiddle::Importer
dlload "libc.so.6"
extern "int gettimeofday(void*, void*)"
Timeval = struct(["long tv_sec", "long tv_usec"])
end
time = M::Timeval.malloc
M.gettimeofday(time, Fiddle::NULL)
p time.tv_sec... -
Fiddle
:: Importer # union(signature) -> Class (13.0) -
C の共用体型に対応する Ruby のクラスを構築して返します。
...共用体型を Ruby 上で定義する方法は Fiddle::Importer#struct と
ほぼ同様です。C における
typedef union epoll_data
{
void *ptr;
int fd;
uint32_t u32;
uint64_t u64;
} epoll_data_t;
は、Ruby上では
require 'fiddle/import'
module M
extend Fi......mporter
dlload "libc.so.6"
typealias("uint32_t", "unsigned int")
typealias("uint64_t", "unsigned long long")
EPollData = union(["void *ptr",
"int fd",
"uint32_t u32",
"uint64_t u64",
])
en... -
Fiddle
:: Importer # create _ value(type , val = nil) -> Fiddle :: CStruct (7.0) -
型が type で要素名が "value" であるような構造体を 定義(Fiddle::Importer#struct)し、 その構造体のメモリを Fiddle::CStruct#malloc で確保し、 確保したメモリを保持しているオブジェクトを返します。
...モリを Fiddle::CStruct#malloc で確保し、
確保したメモリを保持しているオブジェクトを返します。
type は "int", "void*" といった文字列で型を指定します。
val に nil 以外を指定すると、確保された構造体に
その値を代入します。... -
Fiddle
:: Importer # sizeof(t) -> Integer (7.0) -
C における sizeof(t) の値を返します。
...ている型を Fiddle が知らなかった
場合に発生します
例:
require 'fiddle/import'
module M
extend Fiddle::Importer
Timeval = struct(["long tv_sec", "long tv_usec"])
p sizeof("char") # => 1
p sizeof("void*") # => 8
p sizeof(Timeval) # => 16
end... -
Fiddle
:: Importer # value(type , val = nil) -> Fiddle :: CStruct (7.0) -
型が type で要素名が "value" であるような構造体を 定義(Fiddle::Importer#struct)し、 その構造体のメモリを Fiddle::CStruct#malloc で確保し、 確保したメモリを保持しているオブジェクトを返します。
...モリを Fiddle::CStruct#malloc で確保し、
確保したメモリを保持しているオブジェクトを返します。
type は "int", "void*" といった文字列で型を指定します。
val に nil 以外を指定すると、確保された構造体に
その値を代入します。...