dl/import.rb

DL::Importable

超类

方法

dlload(lib,...)

使用DL::dlopen来加载库, 这样就可以在被extend的模块中使用该库中定义的那些可引用的符号了。

extern(prototype)

给出C的函数原型之后, 就可以动态地定义调用该函数的方法。若首字符为大写,则自动将其变为小写。

callback(proto)

若给出C的函数原型之后, 就可以把以定义的Ruby方法作为C的回叫函数来处理。返回DL::Symbol对象。

typealias(newtype, oldtype)

newtype类型定义为oldtype类型的别名。在给出externcallback方法的原型时就会用到newtype中的类型。

symbol(sym[, typespec])

取出符号名为sym的符号。传给typespec的是类型信息, 返回DL::Symbol对象。若省略typespec时,则以DL::DataPtr对象返回指向符号的引用。

补充

实际上, 上述方法是定义在DL::Importable::Internal中的。因为Importable模块内含Internal模块, 所以就由Importable模块来提供这些方法。

相关文件