種類
- インスタンスメソッド (178)
- ライブラリ (36)
- クラス (28)
- モジュール (12)
- 文書 (4)
ライブラリ
- ビルトイン (8)
-
fiddle
/ import (156) - rake (48)
-
shell
/ system-command (6)
クラス
-
Rake
:: Application (12) -
Rake
:: FileList (12) - Refinement (4)
-
Shell
:: SystemCommand (6)
モジュール
-
Fiddle
:: Importer (132) - Kernel (12)
キーワード
- CStruct (12)
- DefaultLoader (12)
- Importer (12)
-
NEWS for Ruby 3
. 1 . 0 (4) - Refinement (4)
- [] (12)
-
add
_ loader (12) - bind (12)
-
create
_ value (12) - dlload (12)
- extern (12)
- fiddle (12)
-
fiddle
/ import (12) -
fiddle
/ types (12) -
import
_ methods (4) -
import
_ symbol (12) - sizeof (12)
-
start
_ import (6) - struct (12)
- typealias (12)
- union (12)
- value (12)
検索結果
先頭5件
-
fiddle (42.0)
-
*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
...使います。
=== 使い方
通常は fiddle/import ライブラリを require して
Fiddle::Importer モジュールを使用します。
Fiddle モジュール自体はプリミティブな機能しか提供していません。
Fiddle::Importer モジュールは以下のようにユーザ......が定義した
モジュールを拡張する形で使います。
require "fiddle/import"
module M
extend Fiddle::Importer
end
以後、このモジュールで dlload や extern などのメソッドが使用できるようになります。
以下のように dlload を使ってラ......イブラリ関数に対して extern メソッドを呼んで
ラッパーメソッドを定義します。
require "fiddle/import"
module M
extend Fiddle::Importer
dlload "libc.so.6","libm.so.6"
extern "int strlen(char*)"
end
# Note that we should not include the module M from... -
Rake
:: DefaultLoader (16.0) -
Kernel#import で使用するデフォルトのローダーです。
...Kernel#import で使用するデフォルトのローダーです。... -
Fiddle
:: CStruct (6.0) -
C の構造体を表すクラスです。
...構造体を表すクラスです。
このクラスは直接は使わず、Fiddle::Importer#struct を用いて
このクラスを継承したクラスを生成し、それを利用します。
Fiddle::Importer#struct が生成するクラスには
構造体の各メンバへのアクセサが定......います。
このアクセサはシグネチャの型とメンバ名に従って定義されます。
例えば
require 'fiddle/import'
include Fiddle::Importer
S = struct(["long foo", "void* bar"])
とすると、 S#foo, S#foo= というアクセサが Integer とやりとり
するよう......義されます。
このクラスは実際にはこのドキュメントに書かれているメソッドを保持していません。
Fiddle::Importer#struct によって動的にメソッドが定義されます。
このドキュメントは説明の便宜のためだと考えてください... -
NEWS for Ruby 3
. 1 . 0 (6.0) -
NEWS for Ruby 3.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...Refinement
* Module#refineで作成されたモジュールを表す新しいクラス。includeとprependは非推奨になり、代わりにimport_methodsが追加されました。
== 標準添付ライブラリの更新(機能追加とバグ修正を除く)
* 以下のdefault gemsが更... -
Rake
:: Application # add _ loader(ext , loader) (6.0) -
与えられた拡張子で終わるファイル名のファイルをロードするためのローダーを 自身に追加します。
...'SAMPLE_MF'
# Comments
a: a1 a2 a3 a4
EOS
IO.write("sample.mf", makefile)
Rake.application.add_loader("mf", Rake::MakefileLoader.new)
Rake.application.add_import("sample.mf")
Rake::Task.task_defined?("a") # => false
Rake.application.load_imports
Rake::Task.task_defined?("a") # => true
//}... -
Refinement (6.0)
-
refine のブロックの中の self のクラスです。
...refine のブロックの中の self のクラスです。
Refinement#import_methodsで他のモジュールからメソッドを
インポートできます。... -
fiddle
/ types (6.0) -
C の型の別名を定義するライブラリです。
...::Importer#extern や Fiddle::Importer#struct で
利用できる型が増えます。内部で Fiddle::Importer#typealias を
呼び出しています。
実装の問題があるため、 Fiddle::Importer#dlload を呼びだしてから
include してください。
例
require 'fiddle/import'......require 'fiddle/types'
module M
extend Fiddle::Importer
dlload "libc.so.6" # include の前に dlload を呼ぶ
include Fiddle::BasicTypes
end
# uint は Fiddle::BasicTypes によって定義された型で、unsigned int の別名
p(M.sizeof("uint") == M.sizeof("unsigned...