〜2003年3月中旬〜
1.6.8のリリース版にi386-*-ruby-1.6.exeを入れるついでにbRubyパッチをあてておこう。
実は同じことをしてたんだけど、 どっちにしても混ざることに変わりはないし、 元のほうへ入れちゃおうと思ってます。
Perlの Win32::APIが新しくなってこんなことができるようになった。
use Win32::API; Win32::API->Import( 'mydll', 'int sum_integers(int a, int b)', ); $return = sum_integers(3, 2);
というわけで、追従してみる? Ruby/DLを使えば同じようなことはできるが、
require 'dl/import' module Mydll extend DL::Importable dlload "mydll.so" extern "int sum_integers(int, int)" end ret = Mydll::sum_integers(3, 2)
構造体は Win32::API::Structのほうがわかりやすいようだ。
フライングで置いてしまったが今日正式にリリースされたようだ。
ftpに置かれるかもしれないので、md5sumの結果を用意してみた。
微妙に挙動が違うCygwin DLLであるが、とすると 復帰しない件での挙動の違いもこれが原因ではないだろうか? ま、Win95系のコンソールAPIだとたぶん復帰はしないから、 isattyで判断したほうがいいのは間違いないんだけど。 でも、なぜbinmodeなのだという文句はそのうち来るかもしれない。
今度の会社の引っ越しで2つのセグメントをもらえることになった。 DHCPサーバをもう一個用意するのはばからしいんで、 DHCPリレーエージェントを立てようかと思ったが、 それじゃ管理の一元化はできてもDHCPサーバを用意するのと大して変わらない。 ルータの設定でリレーするのはたぶん可能だろうけど、総務の管轄なので自由が利かない。
で、ネットワークカードを追加してdhcpdをもう一個動かせばいいじゃんってふと気づく。 後輩にそのことを話すとdhcpdはインタフェースを複数指定できるから、
dhcpd eth0 eth1
だけで済むと指摘された。おお。ナイスだよ。 10年ぐらい前に使っていたtulipが引出しの中から出てきたので、これを使おう。
そうか。DELETE_PREVBUFを入れないとBしたときにうっとうしいわけだね。
Rubyで書かれたmake。Rakefileに
task :default => [:foo, :bar] do p "done." end task :foo do p :foo end task :bar do p :bar end
と書いて rake.rbを実行すれば
:foo :bar "done."
と表示される。hashで依存関係を表わすのはなかなかわかりやすいかもしれない。
ruby-talk MLでその後、 なぜmakefileじゃなくてMakefileなのだ?とか全然別の話に進んだりするのはいつものことか。
/usr/lib/X11を加えるという話だけど、これは切りがないよねえ。 --with-tcl-libとか--with-tk-libを使って欲しいんだけど。
_YEAR, _MONTH, _DAYは_MAJOR, _MINOR, _TEENYのついでに導入されたので、 今のところ大丈夫だけど({win32,bcc32}/setup.mak)、 今後Cのほうで参照されるとやばいかもしれない。
テストが足りなかったなあ。 マルチバイト文字が含まれないときはオリジナルを呼び出すべきか。
Changes: This release fixes some problems with operation on Windows 9x, adds /proc/cpuinfo, fixes some problems with files receiving incorrect permissions by default, and allows setsid() to work correctly on Windows consoles.
DyBASE is easy to use and provide high performance. It is intended to be used in applications which needs to deal with persistent data in more sophisticated way than load/store object tree provided by standard serialization mechanism. Although DyBASE is very simple, it provides fault tolerant support (ACID transactions) and concurrent access to the database.