タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

xsに関するkey_ambのブックマーク (1)

  • Perlからshared objectの関数を呼び出す - limitusus’s diary

    今回のお題 foo.so に含まれている関数 void func(void) をPerlから呼び出す。 プロトタイプ宣言の通り、引数は取らないし戻り値もない(あるいは見ない)。 やりかたはいくつかあって、 普通ならXSモジュールを書いて対応する。 ただこのシンプルな目的のためにXSモジュールを書くのはいささか大袈裟すぎる。 もう少し簡単にやろうと思うと Inline::C を利用する。 これでも別に構わなかったのだけど、今回はこのPerlスクリプトをほぼ同時に並列起動する可能性があり、コンパイルが多重に走るのを避けたい。 ということで、ちょっと珍しいアプローチとしてXSモジュールのベースに使われているDynaLoaderモジュールを直接使ってみることにした。 DynaLoaderとは? Perlで昔からあるコアモジュールで、*.soファイルをロードし、その中のシンボルをモジュール名前空間に

    Perlからshared objectの関数を呼び出す - limitusus’s diary
  • 1