«前の日記(2002-04-01(Mon)) 最新 次の日記(2002-04-03(Wed))» 編集

これ日記なん?


2002-04-02(Tue) [長年日記]

_ 予備調査

は9時過ぎにやってきた。近くの電柱から直にひくのかとおもいきや、お隣の敷地をまたぐのを避けるため、電柱と電柱の間の分岐点まで電線に沿ってはわせてから引っ張るらしい。素人考えで考えていた穴は電気のケーブルで使ってるから共存不可、ということで新規に穴をあけるはめになってしまった。とりあえず追加料金もなく、契約。あとは工事の日にちを待つばかりだが、なんでも
  • 市内だけですでに500件ほど話しがきている
  • ぱっと見た感じでは近くまで光ファイバが来てない...かも
早くこいこい光ファイバ♪

_ 時間が余ったので

散髪に。すいてた。

_ ruby拡張ライブラリ on windows

を書きたい、とおもってwebページをあさる。私はCが書けないので Delphi6 + Apollo? と思ったのだけれどこの際勉強しないとね、と思い直す。

_ 太陽編の拡張ライブラリDelphi編によれば、結局キモは require 'hoge' で Init_hoge を呼び出すDLLを作ればいいんだよーん、ということらしいのだが、Cでそれ、どうやって書くの(@_@

結局、bcc5.5.1で次のようになった。まずソース
#include <windows.h>
void WINAPI _declspec(dllexport) Init_hoge()
{
	MessageBox(NULL, "Hello World!", "hoge", MB_OK);
};

_ それからMakefile

CC=bcc32
link = ilink32
cflags=-O2
 
dll=hoge
objs = hoge.obj
 
.c.obj:
 	$(CC) $(cflags) -c $<
.cpp.obj:
 	$(CC) $(cflags) -c $<
$(dll): $(objs)
 	$(link) /Tpd {$? } c0d32.obj, $(dll), , import32.lib cw32mt.lib
でコマンドライン
C:\home\kog\src\rubyext_bcc\hoge>make
MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
        bcc32 -O2 -c hoge.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
hoge.c:
        ilink32 /Tpd  hoge.obj    c0d32.obj, hoge, , import32.lib cw32mt.lib
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
実行コマンドライン
C:\home\kog\src\rubyext_bcc\hoge>ruby -rhoge -e 0
とやるとメッセージボックスが出てきて、OKボタンで終わるという拡張ライブラリ hoge の出来上がり。わーい。

_ 次はcygwinのgccとmingwでコンパイルできるようにしたいなあ...他のソースにあたってみないと。

_ ホントはほしいのは perlでいう Win32::daemon, Win32::Lanman なんですがね。Win32::daemonでdrubyなサーバをサービスで動かす、とかできたらいいのに。

_ 阪神

3連勝しちゃったよ、おい。

_ 鉄拳4

一応、THEATERでは全部キャラが出た模様。