というわけで、実装の巻
非同期ディスクI/Oの実験が終わったので、実装なのでありますよ、隊長。
オフセット読み込みができることを確認したので( オフセット読み込みができると言うことはランダムアクセスが可能と言うことです。SDKのリファレンスにはできる旨が明記はされてなかったので一応。できるのは当たり前ですが )、これで安心して実装に入れます。
ちなみにIOCompletionPortは結局使わないことにしました。
Win98/Meとの互換性を大事に。95は残念ながらサポート外です。95は…さすがに…。
95と98ではAPIが結構大きく変わっていたりするので。
本当はwinnt.hに定義されてるマクロがそのまま使えると便利だったりするのですが、まあ、そのぐらいは自前で持っておくのがいいだろうと言うことで( 互換性大事 )今のところ問題はないはずです。
もしかしたら使っているAPIのどれかがチェックミスで98ではサポートされてないと言うことがあるかもしれませんが、まあ、そのときはそのときで。
一応
CreateFile
ReadFileEx
_beginthreadex
ぐらいですか。この三つは98でも動作する旨がSDKのリファレンスに明記されてます。一応注意書きはあるのですが、大丈夫なはず( ファイル操作APIはファイルシステムが違うと結構勝手が違うので、たとえばFAT32にはセキュリティの概念はないので、セキュリティ指定子をつけて呼び出したりするとWin9xではエラーになります )。
ぐらいかな。
実装実装♪
ブラウザ互換性の話
いや、そんな大きな話じゃないんですけども。
このページ、Firefox 1.5でみると不具合が起こることが判明してます。
具体的には上の作った本人だけがかっちょいいと思っているバナーが繰り返し本文に覆い被さる形で表示されてしまうのです。
CSSを変にいじったのが原因なのか、どっちかの( おそらくIEの方の )CSSサポートがあれなのか。
IE7はCSSちゃんとサポートされてるみたいですよ。今は英語版のベータ版しかないけども。
テストプログラムはまじめに組むのがいい事件
月曜JUNK!…
古いですね。たぶん。
ファイル非同期読み込みのテストプログラムでしたが、まじめに組まないせいでえらく時間を食いました。
結局のところ
FileIOCompletionRoutineが呼ばれる前にプログラムのメインプロセスが終了するというアホすぎる事態によっておかしいおかしい…と。
printfを一発かますことでmain()内部に時間的余裕ができ、ワーカスレッドのprintfが表示されたのをみて「もしや」とは思ったものの、全く馬鹿馬鹿しいバグです。
エラー処理をろくにやっていなかったので、もしかしたらファイルハンドルを取得できずに落ちたりとか、読み込み用コンテキストのポインタが何らかの原因で不正なポインタとなってだめになっていたりとか…原因が特定できなくなってしまいます。
面倒かもしれないけど、その手のエラートラップはしておくべき。マクロで簡単にできるんだから…。
ATOKの不調の原因がわかりました。
ATOKサポートFAQ「ローマ字入力でひらがなが正常に入力できない」
http://faq.justsystem.co.jp/faq/1003/app/jsfaq.jsp?32726+0252
ようやくまともに使えます。これまではATOKが不調だとわかってもコンピュータを再起動するしかありませんでしたから非常にストレスがたまりました。
おそらく問題は解決しただろう、と。
ConceptBaseはすごいのかもしれない。
とにかく、エラー処理頑張れ。
ちなみにテストプログラム、ファイルハンドルは開けっ放し、メモリはリークしまくり、ああ、うう。
どうも…
対応OSはNT系だけになりそうな予感。
Win98ユーザーの皆さんごめんなさいと謝っておく。
信頼性の高い非同期ディスクI/OシステムにはどうしてもIOCompletionPortが…というか、今のやり方に親和性のある方法がIOCompletionPortを使う方法なのでどうしても…。
一応まだ9xの可能性も模索する予定ではありますが…。
SoulLink
面白いです。SoulLink。
アニメの方もみてみたくなりますね…。Navel調子いい感じです。
このあと、「俺たちに翼はない」の発売がされないことである意味さらに完成度が高まる可能性も。
嫌すぎますけどね。
とりあえずNavelといえばおきまりのパターンがあるわけで、SoulLinkでも踏襲されてて良かったです。
続けてこそのギャグですね。
SoulLink、ネタはTwoOneとかぶるところがありますね。ネタバレ嫌なので余り言えませんが、結構かぶってるなあ…。
そこで!
フォルダの中から見つけた妄文。
以下のムービーにあわせてご覧ください。
「SoulLink」AT-X番宣
http://www.soul-link.com/movie/media/ind_01.asx
(C)Omegavision,Inc./Soul Link Media Project 2006
2033年。地上380km上空。周遊型オービタルステーション「アリエス」は恐怖の帳に包まれた。
取り残されたのはフォース21隊員、民間人、45人名。
小隊統率型ファースト・パーソン・シューティングゲーム、Soul Link。
生きること、それは、あなたに思いを伝えるため―
XACMの次のネタはこれですか。3Dの練習にはちょうどいいかもしれないですね。
SoulLinkのいろんな設定考証はかなり正しいと思います。SFの部分にはいろいろ疑問の余地があるかもしれませんが、全体的に取り立てて目くじらを立てるような間違いはなかったような気がします。
コンピュータ周りで少しあれかもしれませんが、そこはそれ、設定いじるとストーリー変わってしまいますから。
プレイしてて「そこは違うだろ」ってなると、いきなり現実に引き戻される感じがしてしまうので、結構重要な点だと思います。
攻略のヒント。正しい選択肢がいつも正しい訳じゃない。選択肢でセーブして進めるのがよいでしょう。セオリー通りにいくとたまに死にます。まあ、教科書が全てじゃないということでしょうか。
雑記
おとといのご飯は鯛めし。昨日のご飯はカレーでした。
カレーに小麦粉入れないって言うのはひどい間違いだと思う。あとから入れてとろみはついたので一安心ですが、香味が気持ち飛んでいた気が…。エリンギがおいしかったです。
そういえば、自販機の流れるニュースで知ったのですが、アメリカがリビアとの関係改善を図るために大使館設立を視野に入れてどうこう…ということらしいです。
あのアメリカとリビアが仲直りとはいかないまでもこんな風になるとは、時間の流れというのは凄いものがあります。ちょっと前にはB-2で爆撃してたのに。
ニュースを見ないので世の中がいったいどうなっているのかさっぱりわかりませんが、わからなくても何も困らないので大丈夫です。
世の中がどうなっているのかよりはWin32でマルチスレッドプログラミングするときのコツとかの方がよっぽど大事な情報です。
ファイルI/O非同期の要になる部分を書くために本やらウェブページやらを漁っています。
ASyncIOは当然ながらマルチスレッドに絡むわけで、複雑さに頭を悩ませています。
実はそれ自体は余り難しくないのですが、ファイルシステムにスマートに実装する方法について頭を悩ませています。どうしたらきれいに載るんだろうか…。
フランカー
放蕩オペラハウス - 2/19
http://www.h-opera.com/200602b.html
うわ、それストライクイーグルちゃうやん。どう見てもフランカーじゃん。
さすがUSAは凄い。むしろ好意的に面白いし。あとハニーローストピーナツはおいしいですよ。
おみやげ屋さんとかにたまにおいてあるけど。
別にマニアではないですが、フランカーとストライクイーグルの違いくらいはわかるわけで。
フランカーとシーフランカーの違いくらいはわかるわけで。
Su-27とSu-30とSu-35の違いくらいわかるわ けで。
簡単な見分け方を書いておくと…やっぱいいです。
方言
そういえば、自分…方言がない…。
たぶん唯一の方言が「なおす」かな。
「なおす」という言葉だけが通じない気がします。あとは共通語だと思う。
たとえば「あ、そのファイル、~~室になおしといて」
っていうと言った相手は混乱します。
「なおす」っていうのは「片付ける」の意味なんです。本籍がある場所の方言です。
「おいでませ」は言いませんし( その方言のネイティブである父親が「おいでませ」は観光局の作った人工方言だと思っていたらしい。母方の祖母によれば「間違いなく古くからの方言」とのこと )、
「こうこう」というよりは「たくあん」という方が通じるので、本籍がある場所の方言が話せるわけでもありません。
その方言だと「ぶち」とかが有名ですか。
「ぶち」という言葉の響きとは裏腹に若い女性が使うとかわいい気がします。
方言…。方言マスターしたい…。北海道弁が好きです。
北海道弁の中でも「なんも」という言葉があるのですが、これは普通に使うし、本籍がある場所でも通じます( たぶん )。一般的な言葉なのかそうじゃないのか。たぶん普通には通じないのでしょう…。
とりあえず僕に残された最後の方言である「なおす」を積極的に使っていって最後の一葉( O・ヘンリ )をなくさないように心がけるところから始めたいと思います。
( 関西、というよりも西日本で、ですが、語尾が「~や」になるのは普通みたいですね。方言とはちょっと言い難いかも。地元も本籍地も西日本ですが、どっちも語尾が「~や」になる人が結構います。
あと和歌山の先輩がたこ焼きを普通に作れるみたいなので関西人は全員たこ焼きが作れる説が浮上。
たこ焼きが食べたかったら普通に銀だこへいきます。関西の人に夜道で刺されるぞ、俺。
そういえば、地元の言葉が未だによくわからないことがありますね。語尾のニュアンスが特に。難しいです、方言。 )
カカオとか
カカオ99%の残り1%は何なんでしょうね・・・。不純物、とか( ぼそ
カカオの本物、食べられないことはないと思います。
もっしもっし食べるときついと思うけど、ちょっとずつ食べる分には問題ないと思います。
苦いだけですけどね。