242件ヒット
[201-242件を表示]
(0.074秒)
種類
- インスタンスメソッド (178)
- ライブラリ (36)
- クラス (16)
- モジュール (12)
ライブラリ
- ビルトイン (8)
-
fiddle
/ import (156) - rake (36)
-
shell
/ system-command (6)
クラス
-
Rake
:: Application (12) -
Rake
:: FileList (12) - Refinement (4)
-
Shell
:: SystemCommand (6)
モジュール
-
Fiddle
:: Importer (132) - Kernel (12)
キーワード
- CStruct (12)
- Importer (12)
- 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)
検索結果
-
fiddle (6048.0)
-
*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
...に使います。
=== 使い方
通常は fiddle/import ライブラリを require して
Fiddle::Importer モジュールを使用します。
Fiddle モジュール自体はプリミティブな機能しか提供していません。
Fiddle::Importer モジュールは以下のようにユー......ザが定義した
モジュールを拡張する形で使います。
require "fiddle/import"
module M
extend Fiddle::Importer
end
以後、このモジュールで dlload や extern などのメソッドが使用できるようになります。
以下のように dlload を使って......ドを呼んで
ラッパーメソッドを定義します。
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 some reason.
p M.strlen('abc') #=> 3
M.s... -
Refinement (6006.0)
-
refine のブロックの中の self のクラスです。
...refine のブロックの中の self のクラスです。
Refinement#import_methodsで他のモジュールからメソッドを
インポートできます。... -
fiddle
/ types (6006.0) -
C の型の別名を定義するライブラリです。
...。
Fiddle::Win32Types や Fiddle::BasicTypes を Module#include する
ことで、Fiddle::Importer#extern や Fiddle::Importer#struct で
利用できる型が増えます。内部で Fiddle::Importer#typealias を
呼び出しています。
実装の問題があるため、 Fiddle::Importer#dl......呼びだしてから
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 int"))... -
Fiddle
:: CStruct (3006.0) -
C の構造体を表すクラスです。
...C の構造体を表すクラスです。
このクラスは直接は使わず、Fiddle::Importer#struct を用いて
このクラスを継承したクラスを生成し、それを利用します。
Fiddle::Importer#struct が生成するクラスには
構造体の各メンバへのアクセサ......ます。
例えば
require 'fiddle/import'
include Fiddle::Importer
S = struct(["long foo", "void* bar"])
とすると、 S#foo, S#foo= というアクセサが Integer とやりとり
するように定義され、 S#bar, S#bar= というアクセサが Fiddle::Pointer
でやりとりする......定義されます。
このクラスは実際にはこのドキュメントに書かれているメソッドを保持していません。
Fiddle::Importer#struct によって動的にメソッドが定義されます。
このドキュメントは説明の便宜のためだと考えてくださ... -
Rake
:: Application # add _ loader(ext , loader) (3006.0) -
与えられた拡張子で終わるファイル名のファイルをロードするためのローダーを 自身に追加します。
...mlist[例][ruby]{
require "rake/loaders/makefile"
# Rakefile での記載例とする
task default: :test
task :test
makefile =<<-EOS
<< <<-'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_im......port("sample.mf")
Rake::Task.task_defined?("a") # => false
Rake.application.load_imports
Rake::Task.task_defined?("a") # => true
//}...