C で超簡易ログ出力機能とdie関数
2007/11/23
defineを使って、簡易ログ出力をしてます。
#define d(...) {FILE *fp = fopen("debug.log", "a");fprintf(fp, __VA_ARGS__);fclose(fp);} #define die(msg) {d("ERROR: %s(%d) %s %s\n", __FILE__, __LINE__, __FUNCTION__, msg); exit(1);} d("ticket_id: %d\n", ticket_id); die("failed to exec booooo.");
__FUNCTION__は知らなかったです。激しく便利。ちょっと調べてみたところ、__FUNCTION__、__VA_ARGS__は、 C99 なら使えるということですが、C99自体のことを知りませんでした。http://ja.wikipedia.org/wiki/C99 とりあえず、gccなら使えるということですね。
正式版を出す頃までには、真面目なログ機能が必要だろうな。