Ruby 2.1.0 リファレンスマニュアル > ライブラリ一覧 > dl/importライブラリ > DL::Importerモジュール > extern
extern(signature, *opts) -> DL::Function
[permalink][rdoc]DL::Importer#dlload で取り込んだライブラリから C の関数をインポートします。
インポートした関数はそのモジュールにモジュール関数として定義されます。
signature で関数の名前とシネグチャを指定します。例えば "int strcmp(char*, char*)" のように指定することができます。
opts には :stdcall もしくは :cdecl を渡すことができ、 呼出規約を明示することができます。
例
require 'dl/import' module M extern DL::Importer dlload "libc.so.6" extern "int strcmp(char*, char*)" end M.strcmp("abc", "abc") # => 0 M.strcmp("abc", "abd") # => -1