OpenLibSys.org のプロジェクトバナーを作りました。ちょっと地味だけどまぁいいか・・・。
![]()
OpenLibSys.org のプロジェクトバナーを作りました。ちょっと地味だけどまぁいいか・・・。
![]()
今日はプログラムは 1 行も書かず、日本語マニュアルの整備を行いました。簡潔すぎるマニュアルだけど、サンプルコードを読めばわかるよねってことで。
主な変更点
◇ダウンロード:WinRing0 Beta6
オタクの祭典3日目もスルーし、自宅でいそいそ WinRing0 の日本語マニュアルを作成中です。
◆WinRing0 日本語マニュアル(鋭意翻訳中)
これで、もう少し日本人の方にも興味を持っていただけると嬉しいのですが・・・。
WinRing0 の開発を通して API 数を増やしすぎると地獄を見るということが良くわかりました。
OpenLibSys では、GetProcessorName とかそんな感じでどんどん API を増やしていこうかなぁとも思っていたのですが、この方式だと数十、数百の API をエクスポートすることになってしまいます。やはり、SysInfo と同様 GetString(XXX_YYY_ZZZ, str); って感じで呼び出すような感じにするのがいいのかなぁ。どっちにしても、C# 用 enum を作るのが大変ですけど。あと、マクロの管理は SysInfo で大失敗こいたので、反省せねば。。。
また、文字列の長さも確認できるようにしないとなぁ。今回は、Windows API を見習いもう少しまともな仕様にしたいと思います。Unicode 専用にできるのはちょっとうれしいです。今まで頑なに 9x サポートを続けてきましたが。もう良いでしょう。
できれば、エクスポートする API は WinRing0 と OpenLibSys で共通として、OpenLibSys 専用 API を WinRing0 から呼び出した場合はエラーコードを返すとかそんな仕様にしたいなぁと妄想しています。なんにせよ、ユーザアプリは WinRing0 を使う場合と OpenLibSys を使う場合で共通にできるようにしたいと思います。DLL 名を切り替えるための再コンパイルは必要ですけどね。※既に C# 版サンプルの OpenLibSys.cs はそのような形になってます。
それにしても、このままだと WinRing0 はすご~く地味な船出になりそうだなぁ。私の気合いとは裏腹に(笑)
念願の Any CPU 対応を果たしました。ガベージコレクションと例外処理の勉強をすれば、もう少し C# のサンプルコードは良くなると思います。
主な変更点
◆マニュアル 鋭意制作中(現在英語版のみ)
◇ダウンロード:WinRing0 Beta5
ようやく? C# サンプルで Any CPU で x86/x64 環境で動作するようにできました。これで、Express Edition をお使いの方も WinRing0 を安心して満喫できるというものです。これから、色々整理する予定ですが、本日中には Beta5 がリリースできそうです。
WinRing0 の正式リリースまでにはもう少し C# レベルを上げて、最終的にはサンプルコードの品質を高めていきたいと思います。それにしても、C# いいですねぇ。参考にすべきサイトもたくさんあるし。
C# のサンプルコードを Beta4 からほんの少しだけ修正しました。前回は UIntPtr の使い方がわからず、プリプロセッサを使って x86/x64 を振り分けていたのですが、UIntPtr の使い方がわかったのでソースコードがすっきりしました。
C# 面白いですねぇ。ホント OpenLibSys は CDhtmlDialog 版と WPF 版を作れたらいいなぁ~。
◆マニュアル 鋭意制作中(現在英語版のみ)
◇ダウンロード:WinRing0 Beta4
WinRing0 Beta5では、
あたりを参考に Any CPU できるようにしたいところ。きっとできるよ。うんうん。問題は、C# の言語仕様を全然把握していないということ。まずは、そこかな(汗
CrystalMark 2004R2 には多数の問題点があるのですが、鋭意放置中。今日も久しぶりに CrystalMark 2004R2 の再コンパイルに挑戦したのですが、どういうわけか新しい問題がいくつか発生し断念。あまり弄った記憶はないんですけど・・・。
CrystalMark 2004R2 のソースコードは公開しておりませんが、もうどうすることもできないほどの末期状態。SysInfo もだけど。大学時代の遺産は脆くも崩れ去りまくりで、まさに、「砂上の楼閣」だったんだなぁ~と。シミジミ(笑)。