タグ

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

  • 関連タグはありません

タグの絞り込みを解除

perlとxsに関するmakamaka_at_donzokoのブックマーク (13)

  • Devel::Coverとexec() - D-6 [相変わらず根無し]

    Devel::Coverとexec() 2011年9月 8日 12:08 D | ブログ記事のURL | コメント(0) | トラックバック(0) Devel::Coverって便利な道具なんですが、なんかfork + execするとうまく動きませんでした。ずっと見て見ぬ振りしてたんだけど、そういうわけにもいかなくなったので、二日ほどずっとその挙動をprintデバッグで追いかけていったら大体把握できた。 すごくはしょって言うと、Devel::Coverは裏のXSレベルでEND {} にあたる部分とかにコードを挿入してて、元のコードが #!perl exec "/bin/ls" だったとしたら、Devel::Coverをuseすると概念的には #!perl END { do_interesting_stuff() } exec "/bin/ls" という事をするようになる。PPの場合だとe

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Pseudo closures in XS - JPerl advent calendar 2010 english Track

    This article describes pseudo closures in XS, a.k.a. XS code templates, which creates XSUBs dynamically without compilation. Because XSUBs are typically much faster than pure Perl subroutines, creating XSUBs without compilation will be useful for high performance applications. Closure What are closures? A closure is a subroutine that consists of binding (or external) data and code, which allows us

    Pseudo closures in XS - JPerl advent calendar 2010 english Track
  • XSでCの文字列操作関数を使用するべきでない理由 - Islands in the byte stream (legacy)

    またはRe: PerlとC言語の型に対応する値への相互変換 XSでCの文字列操作関数の使用はなるべく避けるべきです。Cの文字列操作関数は危険で使いにくいものです。その代わりに、Perlが提供する安全で使いやすいSV APIを使ったほうが余計なことを考えずに済みます。 まずC言語でプログラミングする際の一般論として、strcat()やsprintf()などの文字列長を制御できない関数を使用するべきではない、というものがあります。これらの関数を使用して安全なプログラミングをするのは非常に困難であり、代わりにstrncat()やstrlcat()、あるいはsnprintf()といった文字列長を制御できる関数を使うべきです。 またPerl/XSに関して言うならば、そもそもCの文字列操作関数を使う必要はほとんどありません*1。char*の代わりにSV*を使うようにし、なるべくPerl API で文字

    XSでCの文字列操作関数を使用するべきでない理由 - Islands in the byte stream (legacy)
  • Less XS/More Ctypes - Modern Perl Programming

    Perl is in better shape now than ever, but there's much left to improve. (I wrote Five Features Perl 5 Needs Now almost two years ago, and four of five are available in whole or in sufficient substitute, so that's great progress.) Rather than criticize Perl for what's going wrong (as if I were any position to do so), I prefer to suggest new areas of improvement. One of the biggest possible improve

  • Perl 5 Internals - Books

    This series contains material adopted from the Netizen Perl Training Fork, by kind permission of Kirrily Robert. [edit] Preliminaries Welcome to NetThink's Perl 5 Internals training course. This is a three-hour course which provides a hands-on introduction to how the perl interpreter works internally, how to go about testing and fixing bugs in the interpreter, and what the internals are likely to

  • にひりずむ::しんぷる - Win32::Unicode を XS 化させてみた

    MSWin32 で Perl を使っている人にしか価値のない Win32::Unicode ですが、ちょっと前に 0.19 をリリースしました。 今回は、cygwin 対応のコードが入ってます。 cygwin では 1.7.1 あたりから、UTF8 が基調となっていますが、それはターミナルだけではなく、Perl でもそうです。恐らく cygwin の API が UTT8 化されたので、 Perl でそいつを呼び出す場合もそうなったんでしょう。(てきとーです) 何はともあれ、最近の cygwin-perl では、Win32::Unicode を使わずとも Unicode ファイルが扱えたりする(CORE::readdir で UTF8 で帰ってきたりする)ので、使う意味はないんですが、とりあえず CPAN-Testers でいつも cygwin がコケてるのでちょろっと対応した次第。まだ

  • Module::Install::XSUtilでXSモジュール用のMakefile.PLを書く - JPerl Advent Calendar 2009

    前置き こんにちは,gfxです。好きなソースはタルタルソースとsv.cです。JPerl Advent Calendar 2009 Hacker Trackも8日目ですね。そろそろTipsを読むだけでは飽き足らず,モジュールを書きたくなってきたんじゃないでしょうか。そんなわけで,今日はModule::Install::XSUtilを紹介します。 題 皆さんの中にはよくXSを書く方もいらっしゃると思いますが,XSモジュールを含むディストリビューションはビルド環境の設定が結構大変ですよね。build_requiresにExtUtils::ParseXSやXSLoaderを指定したり,make_maker_argsにOBJECT => '$(O_FILES)'を指定したりする必要がありますし,Cコンパイラは使えるか,Cコンパイラの警告を有効にしたい,ppport.hは十分に新しいか,などなど考え

  • illguts-0.49 - illustrated perl guts - metacpan.org

    index-work.html (hv), hv-10.epsx: The NAME HEK for HV was added with 5.10 not 5.14. 5.14 just added the name_count hack. [RT #92650 by bulk88] index-work.html (svrv): [RT #70723 by ikegami] No seperate RV type since 5.12

  • おさかなラボ - [XS]Perl変数とPerl構造体の対応について

    当はPVに限った話をがっつりしようと思ったんだけど、順序が思いっきりperlgutsとかぶるので止めました。 繰り返すようですが、XSの中身というのは、始めたばかりの人にとっては何がなんだかさっぱり分からないと思います。特に配列やハッシュやリファレンス、オブジェクトなどはどうやって扱えばいいのか不安に思っている方は多いのではないでしょうか。今日はその話を簡単にします。 これらは、Perl内部では構造体で実現されています。主に次の構造体が用意されています。 SV スカラ値 AV 配列 HV ハッシュ値 RV リファレンス値 構造体って何?っていう人はK&Rを買って読んで下さい。Cの概念です。僕がXSについて書くときは、Cについての一通りの予備知識があることを前提とします。Perlの値には他にもグロブや無名関数などがありますが別項に譲ります。 次に不安なのが、これらの操作でし

  • おさかなラボ - PerlでXSを使ってみよう

    と思う人は多いと思う。気になっている人は多いだろう。しかし、XSに関する詳細なドキュメントは、ググってみると驚愕するくらい少ない。そして読みにくい。理由は後述する。 私もXSに関するドキュメントを書きたいのだが、カバーする範囲が広大すぎてどこから手を付けたらいいのか全く分からない。が書けそうな勢いだ。エントリを分けて書くのか、既存とは別のチュートリアル文書のようなものを書くのか、悩んでいるところである。その代わり、今回はXSってえる?って人には有用なエントリにしたいと思う。そして簡単なサンプルを書いてみたいと思う。 少々のことなら分かるしググるし大丈夫だぜ!という人は、以下のエントリ、およびリンク先を参照すると良いと思う。 XS by id:naoya まずはXSって何?ってことだが、この時点で何がなんだかさっぱり分からない人が多いと思う。それもそのはず、XSという言葉が包括的

  • XSをモジュールなしでロードするには? - clouder's blog

    よくわかってないんだけど、とりあえず動いたので忘れないようにメモ。 (ただしこれはOSX上でのことなので他のOSだとところどこパスなどで違う部分があると思う) 1. hoge.xsを作る 今回は単純にパッケージ名をPACKAGENAMEで、メソッド名methodnameというのが1つあるだけのhoge.xsだとする。 2. xsubppというコマンドでhoge.xsをhoge.cに変換する typemapが必要なのでExtUtilsのパッケージの中のを使う。 % xsubpp -typemap /System/Library/Perl/5.8.8/ExtUtils/typemap hoge.xs > hoge.c 3. hoge.cをコンパイルする前にppport.hというのを生成しておく % perl -MDevel::PPPort -e 'Devel::PPPort::WriteFil

    XSをモジュールなしでロードするには? - clouder's blog
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • 1