Entries from 2006-12-01 to 1 month
ごはんがおいしく炊けるという評判の炊飯器を週末に買ったのですが、今日届きました。 7段圧力だったり、AIを搭載していたりと何やらすごい感じ。 今まで3合炊の炊飯器だったし、そこまで厚釜でもなかったのでかなりごはんのおいしさが違います。あと別ルー…
仮説。 DLLがリンクされる場合の正しいフロー monapi_initialize_memory(64 * 1024 * 1024); setConstructorList(__CTOR_LIST__); invokeFuncList(__CTOR_LIST__, __FILE__, __LINE__);(monapi.o) invokeFuncList(__CTOR_LIST__, __FILE__, __LINE__);(MONAP…
Yahoo!ニュース - スポーツ報知 - カンニング 中島さん死去…急性リンパ球性白血病35歳までに自分は何かを成し遂げているだろうか。と焦った今日このごろ。
現象 upperを起動すると死ぬ 再現率100% 現時点で分かっていること monapi_stdout_write の中で死んでいる _logprintfを利用して細かいログをとった結果分かったことは access denied.address = 0x354748D4 Process UPPER.EX5 killed eip=0xA001089F memcpy(…
id:higepon:20061219:1166544588 某所で捕捉されたのでコードを晒します。 僕は本当に頭が悪いので全然理解できていないです。いつか理解できると良いな。 動作確認はGaucheでやっています。公開することを考えていなかったので謎のコメントやらコピペに近い…
継続を理解して人にきちんと説明できるまで勉強することにした。 今ローカルの cont.scm にしょぼい実験コードを書いています。 何のためにあるのか? どううれしいのか? 何が出来るのか? どういう局面で実際に使われているか? どういう仕組みか? をきちん…
キタ!
動的コード生成でDLLエントリポイントを呼ぶようになった Yumeさんが対応してくれて、MONALIBC.DLLがStream初期化コードを呼ぶようになった ところが Mona のPE動的リンカのバグでリンクエラーに。 バグ修正 リンクは通るがNULLアクセスで落ちる DLLエントリ…
コンパイラとバーチャルマシンを買った。 自分の実力と難易度がぴったり。読みやすい。
C++クックブック読み終わりました。 読みはじめる前はリファレンス的に使うのだろうと思っていたのですが、間違っていました。 知らない内容やわりと深い内容が多く、気付けばXMLの解説部分以外は熟読していました。 付箋やら折り目やらが多く、後からここを…
問題点 MONALIBC.DLLへMONAPI.DLLリンクするときにエラーになる うまくいくリンクとの違い MONALIBC.DLLが2つ以上のImport tableを持っている事 MONALIBC.DLLの Import Address Table のエントリを取り出すと 0xA000xxxxを指している(通常はDLL内オフセット…
Essentials of Programming Languagesの1st Editionが良いらしいので読んでみたいのですが、古本検索などでは見つからず。 誰か本棚に埋もれていませんか?(())
libcのdllmainのなかで標準入出力関連の Stream を生成しているのですが new でこけていた。 dllmainが、メモリ管理ルーチンの初期化よりも先に呼ばれているからだな。なんとかします。進捗をそれとなくトラックバック(id:shotaro_tsuji)
リンク時には import lookup tableを参照し、結果は import address tableに書き込むようにした。 これでリンクエラーは起きなくなった。
日本語は僕の超訳です。 The structure and content of the import address table are identical to those of the import lookup table, until the file is bound. import address tableの構造と中身は import lookup table のものと同一でああるが、それはD…
PE Explorerを wine を利用してインストール 現在の MONALIBC.DLL と うまく動いていたときの MONALIBC.DLL を比べる import情報とか。 svn co https://svn.sourceforge.net/svnroot/monaos/branches/mona-stdio -r3817 import table 2つ以上あるとおかしく…
あれれ。uint32_tとかmain対応したけどどれが原因だろうか。
Import tableが複数ある場合はPEParser#Linkで *ptr がRelocateの後なので、ImageBaseを引いてやらなければいけない予感。
バウムクーヘンを買って帰ったら、奥さんがタネンバウム♪と連呼して喜んでいた。 id:higepon:20060915:1158322853に前科が。
IRCで教えてもらった、colorsvnで svn コマンドの出力に色がつく。 入れてみたが良いかもしれない。 http://www.console-colors.de/index.php?n=ColorizerTools.ColorSVN Color tail とかもあるんだな。
C++クックブックのアルゴリズムの章を読んでいたら、iteratorのループでは it++ ではなく ++itを使えと書いてあった。 it+だと一時オブジェクトが作られてしまうのだそうだ。 心当たりが数ヶ所合ったので grep して修正しておいた。 追記 自分が iterator を…
Shellで必要だったので CString に trim/rtrim/ltrim を実装し多。
おいしく炊ける厚釜の炊飯器を買う。
長らくMona OSで活躍してきた MonaMain をやめて、普通の main を使うようにしました。 Mona OS開発当初は特別な名前である main を crt から呼び出す方法が分からなくて別の名前(MonaMain)を採用していました。 MonaMain今までありがとう。何気に大きな出来…
意外といろいろハマったのでメモ。 sudo apt-get remove libsvn0 sudo apt-get remove subversion sudo apt-get install libneon25 libneon25-dev sudo apt-get install libapr1.0-dev sudo apt-get install libaprutil1.0-dev sudo apt-get install libdb4.…
http://www.boost.org/libs/config/config.htm boost/config.h boost/config/select_compiler_config.hpp gccがきちんと選択されている boost/config/compiler/gcc.hppがincludeされる -fno-exceptions が選択されていると #define BOOST_NO_EXCEPTIONS され…
PE DLLのエントリポイントを呼ぼうといろいろやったのでサマリ。 必要な事は大きく3つ ld に -e オプションでエントリポイントとなる関数(_dllmain推奨)を指定する PE DLLにある EntryPoint を再配置を考慮してずらす ロード時に動的にコードを生成して依存…
最近Makefileを更新することが良くあって、例えば ld に -e オプションをつけるとか。 でその後に make としても当然依存ファイルたちは変更がないので何も起きない。 これが不便だ。 Makefileが更新されていたら make cleann && make して欲しいなぁ。 うま…
byte -> uint8_t word -> uint16_t dword -> uint32_tの対応を行った。 大量の置換を伴うので、id:hideokiに教えてもらった perl -i -pe で一括置換した。 libbayguiだけは対象外にしましたがビルドできています。