タグ

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

  • 関連タグはありません

タグの絞り込みを解除

perlとxsに関するoverlastのブックマーク (6)

  • PerlのXSからPerlの関数を簡単に呼び出せるようにしてみた (C++で) - moriyoshiの日記

    Perlの謎APIをwrapして、Perlスクリプトの関数をC++から簡単に呼び出せるようにしてみた。 てか、 リファレンスカウントを透過的に行えるようpimpl形式のコンテナを使ってみる mortalを透過的に行えるようcall_sv()による関数呼び出しを完全にブラックボックス化する って実験をやりたかっただけなのにDevel::BindPPとは完全に別プロダクトになっちゃいました。 test1() は、任意の数の引数を取り、引数の合計値を返す add()という関数 *1 を C++ から呼び出す例。 test2() は、MIME::Base64::encode_base64() を呼び出す例。 test3() は、複数個の値を返す関数を処理する例。 test4() は、perl::value() の演算子オーバロードのテスト。 #include <iostream> #include

    PerlのXSからPerlの関数を簡単に呼び出せるようにしてみた (C++で) - moriyoshiの日記
  • はてなブログ | 無料ブログを作成しよう

    思いは言葉に。 はてなブログは、あなたの思いや考えを残したり、 さまざまな人が綴った多様な価値観に触れたりできる場所です。

    はてなブログ | 無料ブログを作成しよう
  • perldoc perlxstutを読んだときのメモ - はこべにっき ♨

    正月番組をみながら[http://perldoc.perl.org/perlxstut.html#EXAMPLE-3:title=perldoc perlxstut]を読んだ.メモをとったのでせっかくだからはっつけておくよ. ちょっとメモがはしょり気味なのと,うちの理解があやしいところがあってこころもとないですが,perlxstut読むときの参考にでもなればばば. Example1 $ h2xs -A -n Mytest で雛形がつくれる.生成されたMytest.xsにXSのコードを書く 値を返さないHello, WorldだとCODE:以下にprintfを書くだけでOK void hello() CODE: printf("Hello, world!\n"); CODE: みたいな部分はXS特有の書き方.あとで展開されてCのコードになる. $ perl Makefile.PL $ mak

    perldoc perlxstutを読んだときのメモ - はこべにっき ♨
  • XS(とC++)入門したい - はこべにっき ♨

    XSを使ってみたい.ついでにC++も勉強したい.とりあえず今日はShibuya.pm #9 のXSトークを何個か見てみた. PerlからXSの世界をながめてみる まずは,PerlからXSの世界をながめてみる.整数値は一度文字列化すると文字列表現がキャッシュされる.Devel::PeekでXSレベルの構造体をダンプするとわかるよ. コード #!/usr/bin/env perl use strict; use warnings; use Perl6::Say; use Devel::Peek; my $x = 100; say Dump $x; "$x\n"; # 文字列化 say Dump $x; 実行結果 SV = IV(0x80cebc) at 0x800b88 REFCNT = 1 FLAGS = (PADBUSY,PADMY,IOK,pIOK) IV = 100 SV = PVIV

    XS(とC++)入門したい - はこべにっき ♨
  • XSモジュール用のModule::Setupのflavorを作った

    まだXSのことをよくわかってないのですが、XSモジュール用のModule::Setupのflavorを作ってみました。 このflavorを使うには、記事下にあるコードをXSFlavor.pmって名前でファイルに保存して、 % module-setup --init --flavor-class=+XSFlavor xs でflavorを展開したら、あとは以下のようにするだけでXSモジュールの雛形ができあがります。 % module-setup Your::Module xs このflaverでできる雛形のXSには、newとincrementっていう関数が最初から追加されているので、いらない場合はてきとうに編集してください。 このflavorを最初はModule::Starterで作ろうと思ってたんだけど、module-starterコマンドではflavorの使い分ける機能がないんですね。自

  • どんぞこ日誌(2006-02-08)

    * [Per][メモ] XSモジュールのSTDERRをキャプチャする 変数内部を覗くに便利なDevel::Peek。問答無用でSTDERRに出力されます(perl内部のルーチン経由)。このSTDERRに出力されたデータを別ハンドルにリダイレクトしようとして知ったのですが、open my $fh, '>', \$var; *STDERR = $fhみたいな方法ではXSモジュールのSTDOUTやSTDERRをリダイレクトできないんですね(PerlIOを経由しないからかしら?)(→追記:PerlIO経由のみなら大丈夫であることをコメント欄で教えていただきました)。例えばIO::Captureを使って use IO::Capture::Stderr; my $capture = IO::Capture::Stderr->new(); $capture->start(); Dump("a"); #

  • 1