いけむランド

はてダからやってきました

Revised

eet 入門 (1)

eet の簡単な使い方をまとめてみた。

RAMDisk "Enterprise Lite" を使ってみる

cygwin の configure があくびがでるほどすっとろいので、何とか効率化できないかと考えていたが、Linux に memfs があるのだから、Windows にだってあるだろということでググッてみて発見。 RAMDisk "Enterprise Lite" for Windows 2000 / XP / Server 2003…

pure Java な readelf もどきをつくってみる

Eclipse *1 の主要なコンポーネントのひとつに CDT (C/C++ Development Tooling) というのがある。 *1:java-ja からきますた とか言いながら、実は Eclipse 等の IDE をほとんど使ったことがない...。

bash hacks (1)

cygport の動作を追ってみているうちに bash がかなりいろんなことができることに気がついたので、勉強のついでに文字列をキーとする hashtable とか実装してみた。

机の上に紙とペンを広げられるかで勝負が決まる

今も自分のこのやり方は変わってないなと思ったので、跡地からサルベージ。

C/C++ で使える Hashtable

Java のように豊富なライブラリを標準で提供している開発言語を使い慣れてしまうと、ふと C に戻った時に「リストとかハッシュテーブルがないから、再実装するか...いやそれともライブラリを探してきた方がいいか...。」と嘆くこともしばしば。 そこで以前 C…

strcasestr

残念ながら cygwin には strcasestr がない。

road to e17 (7)

e17 の起動後に表示されるメッセージからエラーを潰す。

road to e17 (5)

Ecore が終われば、もう e17 の準備は整ったようなものである。

road to e17 (6)

苦難を乗り越え、e17 が cygwin で起動するようになった。

road to e17 (3)

Evas に限った話ではなく、実行時に動的にライブラリをロードするような仕組みを持っているものを cygwin に移植する場合には気をつけないといけないことがある。

road to e17 (4)

evas の次は ecore をビルドする。Ecore は EFL 内で使用頻度の高い処理をまとめた便宜関数を提供するライブラリである。*1 *1:convenience function を便宜関数と訳した。http://wiki.livedoor.jp/yushinhozumi/d/convenience%20function

road to e17 (1)

久々に Enlightenment の snapshot が更新されたので、無謀な移植を再開してみる。*1 *1:http://download.enlightenment.org/snapshots/2008-01-25/

road to e17 (2)

eet の次は evas をビルドする。Evas は Enlightenment の華麗なグラフィックを担当する描画関係のライブラリである。

エンディアンとかアラインとか

同じプログラムなのに CPU により結果が異なる簡単な例。

ヒープとスタックは出会うべきではなかった

データがメモリへどのようにアロケーションされるかは OS や libc およびコンパイラに依存する。 Linux 2.6 の場合、どうもユーザ自身が limit でスタックの使用量を制限しないと、スタックもヒープも拡張し放題で、最終的に衝突してしまうことを許している…

nohup

nohup はログアウトしてもプロセスを実行し続けさせるコマンドであり、coreutils の nohup.c によると signal(SIG_HUP, SIG_IGN) で端末が死んだ時にプロセスに配送されるシグナルを無視させるようにして、execve() で目的のプログラムを実行させる仕組みに…

Valgrind: A Framework for Heavyweight Dynamic Binary Instrumentation

以前、valgrind の論文 Valgrind: A Framework for Heavyweight Dynamic Binary Instrumentation を読んだ時のメモ。*1 *1:はてなダイアリーだとキーワード経由で何かの拍子に誰かが立ち寄って、何かを指摘してくれるかもしれないので、こちらに転載してみる…

strcpy や memcpy と愉快な仲間たち

以前 strcpy とか memcpy の実装の違いが気になったので、ちょっと調べてみた時の話を加筆・修正した。