Webスクラップ2009-09-20 15:23

レンキューの課題その1。ずるずるGoogleノートブックつかっているのだが、Minefield/3.7a1preでノートブック拡張が使いにくい。

と調べていたら使えないことはなかったのでまだずるずるいくか。メモを追加した後にノートブックを閉じれない(右上の×で閉じれない)のだが、ステータスバーの「ノートブックを閉じる」では閉じれた。解決!

Google Notebookは新規開発終息
<http://slashdot.jp/~Livingdead/journal/468215>
他のサービス使ってよといわれても、Google Docsはお手軽メモにならないし、ウェブページにコメント付けたいわけじゃないし、ブックマークだけじゃないし。
Tasks in Gmailはまあいいかも。

Google ノートブックをFirefoxのサイドバーで利用する方法。
<http://mozilla-remix.seesaa.net/article/111676348.html>
拡張がいよいよダメになったらこれでいいや。Tasks in Gmailをサイドバーでもいいかも。

求むゆるいCコンパイラ2009-09-20 17:09

レンキューの課題その2。ゆるく使えるCコンパイラ探し。
Windows用。無償かつユーザー登録なしで永久に使えて、インストールも楽ちん。もちSJISオッケーなやつ。

次のはしっかく
Borland C++ Compiler
Turbo C++ Explorer
Microsoft Visual C++ Express Edition

Windows Platform SDKも入れないでWindowsアプリ作れるのないかなあ。まあ、変愚蛮怒さえコンパイルできればいいんだけど。

ためす
Digital Mars C++
Open Watcom
LCC-Win32
Dev-C++
でも更新止まってるようなのは使いたくないなあ。
MinGWが正解なのかしら。

dmcで変愚蛮怒をコンパイルする (1)2009-09-20 22:38

Digital Mars C/C++ Compilerのことをぐぐろうとdmcを入れるとデトロイトメタルシティがひっかかる罠。

まずは、
Digital Mars C/C++ Compiler Version 8.50
をダウンロードしてCドライブあたりに展開する。
PATHにC:\dm\binを追加。

パスを通すだけで使えてお手軽感あり。
sc.iniにINCLUDEやLIBの設定があるようだ。

リソースコンパイラが入ってないので
Basic Utilities
も取ってくる。

とっかかりとしてはmakefile.bccをコピってmakefile.dmcにリネームして直していくか。
Basic Utilitiesのbcc使えないかと試してみたら、XP x64じゃ動かないなあbcc32互換じゃなくて16ビット版なのかな。
cl互換使うのもなんなのでdmcのオプション調べるか。

dmcで変愚蛮怒をコンパイルする (2)2009-09-20 23:52

最初は、makeはBorlandのを使おう。
makefileの書き方も違ったらめんどくさい。

コンパイルオプションはこんな感じかな。
dmc -o-none -WA -D_WIN32_WINNT=0x0400 -DWINVER=0x0400 -DUSE_TRANSPARENCY -DJP -DSJIS -j0 -o artifact.c

さっそくartifact.cでエラー。
usleep関数はあるようなので、本来はh-config.hあたりに
#ifdef __DMC__
# ifndef HAVE_USLEEP
# define HAVE_USLEEP
# endif
#endif
とか書くべきか。
あまりソースは変えたくないので、コンパイルオプションに-DHAVE_USLEEPをつっこんで逃げる。

inet.cでエラー。
Error: 'fd_set' is already defined
FAQか。
Redefined type errors when including the socket header files
http://www.digitalmars.com/faq.html#fd_set

はまるー。
-DWIN32_LEAN_AND_MEANを追加してみると、
#ifdef MACINTOSH
なところでエラーになる。

定義済みマクロに__SC__があるせいか。
Predefined Macros
http://www.digitalmars.com/ctg/predefined.html

h-config.hの
#if defined(__SC__) || defined(__MRC__)
なところを
#ifndef __DMC__
#endif
で囲んで、ソースコードに手を入れたのでdmcはしっかく。

VK_KANAが未定義とか、ヘッダー古すぎだぜ。
これも意地で-Dで定義するか。

Error: need explicit cast for function parameter 5 to get
from: unsigned char *
to : char const *
関数の定義がchar const *だけど、unsigned char *を渡そうとしてるからダメ。融通がきかない。
(char*)でキャストするようにソースに手を入れるしかないかなー?

次はリソースコンパイラ。