タグ

ブックマーク / pub.ne.jp (3)

  • wakaponさんの超☆掃き溜め帳: perl5の実装でよく出てくるマクロの備忘帳

    久々にperl5の実装をごそごそ覗いていたら忘れていたので手を動かしながらリハビリんぐ。まずは基的なマクロやデータ構造から思い出してみるために、PerlInterpreter構造体周辺で頻出のマクロを切りだし、手元で動作させてみる。コードは以下のとおり(http://gist.github.com/405601)。 test.c

    fbis
    fbis 2010/06/01
  • wakaponさんの超☆Perl備忘帳: DynaLoader.pm XSLoader.pm newXS

    DynaLoader.pmとXSLoader.pmまわりのお話.動作の仕方や,両者の違いなどを見ていく.参考にしたのはperl5.10.0のソースツリー. 1. XSUBとnewXS DynaLoaderの質はXSUBなので,まずはそのあたりから見ていく.XSUBを使ったモジュール(=Pure-Perlじゃないモジュール)を作成するときには,DynaLoader.pmやXSLoader.pmを使う.例えばthreads.pmの場合,冒頭に以下のような記述がある. # Load the XS code require XSLoader; XSLoader::load('threads', $XS_VERSION); これでXSUB(単にCのサブルーチン; XSコード)をPerl処理系に組込んだことになる.この「組込む」という工程には,newXSが使われる.例えばthreads->creat

    fbis
    fbis 2008/12/06
  • wakaponさんの超☆Perl備忘帳

    開発マシンと動作確認マシンをRS232C(クロス)で接続し,動作確認マシンからの標準エラー出力を開発マシンで吸い取るようにした.以下,動作確認までのめもめも. 1. ケーブルの用意 まずはPCどうしをつなぐRS232C規格のクロスケーブルを用意.適当にころがっていたものを拝借….長さが2mだったので机の上にマシンを2台載せずに,1台は足元に置くことができた. 2. プログラムの作成 2.1 NS16550用のデバイスドライバ ケーブルを用意しただけではデータ出力は行えない.何しろドライバから用意しなければいけない罠!!!1 ということで,こちらのサイトやネットにころがっていたプログラムを参考にシリアルポート通信のためのドライバをこしらえる. 動作確認マシン→開発マシンへの出力一方通行なので特に割込みは使わないものとした.かなりvramドライバに近い.制御文字以外をデバイスに1文字ずつ流し,

    fbis
    fbis 2007/07/16
  • 1