hogeとはワイルドカードのようなものです。日々起こった、さまざまなこと −すなわちワイルドカード− を取り上げて日記を書く、という意味で名付けたのかというとそうでもありません。適当に決めたらこんな理由が浮かんできました。
05/26/2003 夢
■ [日記] 夢
へにょ氏がロマサガ3で苦戦してる夢を見ました.しかもそのロマサガ3はロマサガ3のくせに9人バトルでした.夢の中でさらにへにょ氏はラグナロクオンラインをプレイしたいとのたまっておりました.俺が「今はヤンキー魂だろ」と言うと全力で否定しやがりました.
意味がさっぱり分かりません.
■ [小ネタ] 脱オタクファッションガイド
やばいここおもろい.
最悪なのはギャルゲーやエロゲーの登場人物の恰好。作っているのがファッションの基礎知識が無い人達ばかりなので、真似した瞬間、人生終わりますので気を付けて下さい。
あははははは,そんなん真似する奴いるのか.
しかし「野郎」という言葉がオタク語だとは…俺もしかしてオタクだったのか.
05/26/2004 うひ
■ [小ネタ] めしどこか たのむ
ええ話や….ちょっと泣きそうになっちゃったじゃないか.小説より奇なりとはよくいったもんだ.
しかしこの人どんどん文章がうまくなってくというか芝居がかってくというか.昇天してるんだろうけど.
ちなみに ダイジェストフラッシュ.
05/26/2011 むう
■ [Py] 3 つの Python バインディング
以前 ctypes を使って sched_[gs]etaffinity の wrapper を書いた が,ctypes は libc しか使えないというわけでは全くないので,比較のために ctypes を使った C/Migemo バインディングも書いてみた. 厳密に仕様を同じにしているわけではないので細かい部分では少し違うけど.
ctypes は .dll や .so を Python の世界から使うもので,呼び出す関数の引数や返値の変換に便利なものを色々と提供してくれる. なおここでは .so を前提にしている.
ctypes を使う時に困るのは定数..so を使うものなので .h は知らん的な感じになる. どうしても使いたい場合は h2py や ctypesgen 等を使う感じになりそう.
それと厄介なのはやはりポインタの扱い. C/Migemo では migemo_query() で返ってきた文字列を migemo_release() で解放してやる必要があって,怠ると見事にメモリリークする (当たり前). migemo_query() の返値を c_char_p で定義してしまうと,migemo_query() から返ってきたものをそのまま migemo_release() に渡してもうまくいかない. そこで返値の型を POINTER(c_char) と定義した上で,文字列を取り出す時に c_char_p 型にキャストしている.
さて ctypes 版は Python そのもので,Cython 版は Python/C 中間言語で,C API 版は C そのもので書いてあるわけだけど,まあ個人的な感想としては以下のような感じ.
- ctypes
- さっと .so を使いたい時にさっと使うのにとても便利
- 込み入ったことをしようとすると結構きついこともある
- Cython
- ビルドの手間があるので .so をさっと使いたいだけな時にはハードルになるかも
- C コードが自動生成される点にきもさを感じる人には向かない
- 込み入ったことも結構あっさりできる
- C API
- 何から何まで自分で面倒見たい人向け
なお Cython と C API は別に .so を使うためのものというわけではないので他の用途も盛り沢山である,という点は誤解なきよう.
あとバインディングを作りたいと思った時に 1 度は候補に挙がるであろう SWIG というものもあるけど,こちらは使ったことないので知らない. SWIG は Python 以外も視野に入っている場合にというイメージ. 全然知らないので本当に勝手なイメージだけど.
□ O氏 [はっぴぃに帰ったらディスプレイが床に転がっててしょんぼりした。小傷だけで使用には問題なくて一安心。なんとかいいつつ初..]
□ いんぺり [僕は惨状を見るのが嫌で帰ってません.寝る前に大いにしょんぼりすることにします... ]
□ へにょ [うちはテレビが落ちてました。ところで、なんつー夢を見るんだ、ゴニャァ!! ]
□ yosh [埼玉でも震度3あったからね. 皆の健康を祈る. ]
□ いんぺり [てことで大いにしょんぼりしました.片付ける気も起きません. ]