cygwin 30 11月 2007 C で lisp のwith系マクロごっこ 色々なパラダイムの言語を噛った後に、c をやるのは面白いかもしれない。 例によってcygwin + gccで確認してます。引数を取るマクロ(#define)は、便利なんですが、予想以上でした。プリプロセッサが処理する時は単なる文字列として扱われるという認識です。「マクロの引数に指定できるものは何だろ… 続きを読む
C言語 28 11月 2007 C言語 で foreach さすがに、チマチマmallocするのは面倒になってきたので、ちょっとLinkedList風なものを作ってみました。その最中に冗談で、なんちゃってforeachを書いたら動いてしまいました。(cygwin + gcc) foreach (it, list) { Point* p = it->e… 続きを読む
C言語 24 11月 2007 C らしい場所で嵌り中 今日は、Cらしい嵌りのまっただなかです。メール送信の関数を呼び出すところで落ちるようになってしまいログ出したりしながら、確認してたのですが、非常に奇妙な落ち方をしていたので、困っていました。 内容は、メール送信を行なう関数の直前でログが出るんですが、メール送信関数の先頭のログが出ない。メール送信関数… 続きを読む
C言語 23 11月 2007 C で超簡易ログ出力機能とdie関数 defineを使って、簡易ログ出力をしてます。 #define d(...) {FILE *fp = fopen("debug.log", "a");fprintf(fp, __VA_ARGS__);fclose(fp);} #define die(msg) {d(&… 続きを読む
cgi 22 10月 2007 apacheに標準エラー出力出し過ぎで、応答なし? starbug1(作成中のバグトラッキングシステム)を、別のサーバ(redhat linux ES3)で使ってみることになったので、Webアプリを置いて動かしていると、なんかの拍子に応答無しの状態になってしまう現象が発生しました。 starbug1は、c の cgi をapache(2.0.46)で… 続きを読む