[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

2010年5月20日のブックマーク (3件)

  • XSでメモリークを避けるたった一つの方法 - Islands in the byte stream (legacy)

    XSでメモリリークを避ける基原則は、それほど難しくない。すなわち、作ったSV(およびSVファミリ)はすぐsv_2mortal()するのである。mortalなSVはスコープ*1から抜けるときに解放されるため、メモリリークは起こらない。つまり、あるスコープ内で新しく作ったすべてのSVをmortalな状態にしておくということだ。 この原則のもとでコードを書くと、誤ってリファレンスカウントを増やさなかったケースでは警告が頻繁に起きる。しかし、少なくともメモリリークは起こらない*2。メモリリークの検出は難しいので、警告が出るのは福音であろう。 もちろんこれは原則で、メモリリークにまつわることで覚えなければならないことは決して少なくない。 たとえば、XSUBの戻り値をSV*にするとき、sv_2mortal(RETVAL)してはいけない。これはPerlの仕様ではなくxsubppが勝手にsv_2mort

    XSでメモリークを避けるたった一つの方法 - Islands in the byte stream (legacy)
  • 第31回 encoding:いつまでもjperlから抜け出せない方に | gihyo.jp

    いまさら使う人はいないと思っていますが かつて、jperlと呼ばれるものがありました。これは当時まだシングルバイト文字にしか対応していなかったPerl体にパッチをあてて日語(など)の2バイト文字をより直感的に扱えるようにしたもので、いまとなっては史料的価値しかありませんが、1990年代にはそれなりに重宝されていましたから、筆者を含めて、お世話になったことのある方も少なからずいることでしょう。 jperlはその後、ライブラリレベルで日語対応できるようにしたjcode.pl(1992年)や、その流れをくむJcode.pm(1999年)を経て、2000年にリリースされたPerl 5.6からは家のほうでUnicode対応が始まったことで、その歴史的役割を終え、開発も事実上終了したのですが、困ったことに、それから10年がたったいまなお、jperlを求めたり、勧めたりする動きはやまないようです

    第31回 encoding:いつまでもjperlから抜け出せない方に | gihyo.jp
    xaicron
    xaicron 2010/05/20
  • モダンPerl連載第31回 - Charsbar::Note

    報告が遅くなりましたが、例によって私の遅筆のせいで一日遅れの公開になりました(ごめんなさい)。今回からは日語まわりの処理について。jperlネタが混じっていたことで疑問に思われた方もいるようですが、「jperl自体はサポート対象外」だけど「そこからこちら側に出てくるための道はサポートの範囲内」ということです。なお、文中にもさらっと書いておきましたが、encodingプラグマは原則非推奨となっています。今回のような簡単なスクリプトの移植をするときには便利に使えますが、それ以外の目的で使うとハマる原因になるのでご注意をば。 http://gihyo.jp/dev/serial/01/modern-perl/0031 もう少し品のない話をしますと、今回の記事を書く直接のきっかけとなったのは、さる方に「that whole dist makes my brain hurt.」と言わしめた一連の

    モダンPerl連載第31回 - Charsbar::Note
    xaicron
    xaicron 2010/05/20