dlload(lib,...)使用DL::dlopen来加载库, 这样就可以在被extend的模块中使用该库中定义的那些可引用的符号了。
extern(prototype)给出C的函数原型之后, 就可以动态地定义调用该函数的方法。若首字符为大写,则自动将其变为小写。
callback(proto)若给出C的函数原型之后, 就可以把以定义的Ruby方法作为C的回叫函数来处理。返回DL::Symbol对象。
typealias(newtype, oldtype)将newtype类型定义为oldtype类型的别名。在给出extern或callback方法的原型时就会用到newtype中的类型。
symbol(sym[, typespec])取出符号名为sym的符号。传给typespec的是类型信息, 返回DL::Symbol对象。若省略typespec时,则以DL::DataPtr对象返回指向符号的引用。
实际上, 上述方法是定义在DL::Importable::Internal中的。因为Importable模块内含Internal模块, 所以就由Importable模块来提供这些方法。