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