Revised
eet の簡単な使い方をまとめてみた。
cygwin の configure があくびがでるほどすっとろいので、何とか効率化できないかと考えていたが、Linux に memfs があるのだから、Windows にだってあるだろということでググッてみて発見。 RAMDisk "Enterprise Lite" for Windows 2000 / XP / Server 2003…
Eclipse *1 の主要なコンポーネントのひとつに CDT (C/C++ Development Tooling) というのがある。 *1:java-ja からきますた とか言いながら、実は Eclipse 等の IDE をほとんど使ったことがない...。
cygport の動作を追ってみているうちに bash がかなりいろんなことができることに気がついたので、勉強のついでに文字列をキーとする hashtable とか実装してみた。
今も自分のこのやり方は変わってないなと思ったので、跡地からサルベージ。
Java のように豊富なライブラリを標準で提供している開発言語を使い慣れてしまうと、ふと C に戻った時に「リストとかハッシュテーブルがないから、再実装するか...いやそれともライブラリを探してきた方がいいか...。」と嘆くこともしばしば。 そこで以前 C…
残念ながら cygwin には strcasestr がない。
e17 の起動後に表示されるメッセージからエラーを潰す。
Ecore が終われば、もう e17 の準備は整ったようなものである。
苦難を乗り越え、e17 が cygwin で起動するようになった。
Evas に限った話ではなく、実行時に動的にライブラリをロードするような仕組みを持っているものを cygwin に移植する場合には気をつけないといけないことがある。
evas の次は ecore をビルドする。Ecore は EFL 内で使用頻度の高い処理をまとめた便宜関数を提供するライブラリである。*1 *1:convenience function を便宜関数と訳した。http://wiki.livedoor.jp/yushinhozumi/d/convenience%20function
久々に Enlightenment の snapshot が更新されたので、無謀な移植を再開してみる。*1 *1:http://download.enlightenment.org/snapshots/2008-01-25/
eet の次は evas をビルドする。Evas は Enlightenment の華麗なグラフィックを担当する描画関係のライブラリである。
同じプログラムなのに CPU により結果が異なる簡単な例。
データがメモリへどのようにアロケーションされるかは OS や libc およびコンパイラに依存する。 Linux 2.6 の場合、どうもユーザ自身が limit でスタックの使用量を制限しないと、スタックもヒープも拡張し放題で、最終的に衝突してしまうことを許している…
nohup はログアウトしてもプロセスを実行し続けさせるコマンドであり、coreutils の nohup.c によると signal(SIG_HUP, SIG_IGN) で端末が死んだ時にプロセスに配送されるシグナルを無視させるようにして、execve() で目的のプログラムを実行させる仕組みに…
以前、valgrind の論文 Valgrind: A Framework for Heavyweight Dynamic Binary Instrumentation を読んだ時のメモ。*1 *1:はてなダイアリーだとキーワード経由で何かの拍子に誰かが立ち寄って、何かを指摘してくれるかもしれないので、こちらに転載してみる…
以前 strcpy とか memcpy の実装の違いが気になったので、ちょっと調べてみた時の話を加筆・修正した。