デバッグなど出力をするときに使うと便利なマクロです。
heremacro.h
#define _STR(x) #x
#define _STR2(x) _STR(x)
#define __SLINE__ _STR2(__LINE__)
#define HERE __FILE__ ":" __SLINE__ " "
使い方はこんな感じ
main.c
#include <stdio.h>
#include "heremacro.h"
int main() {
printf(HERE "hello world\n");
return 0;
}
出力結果はこうなる。
main.c:4 hello world
__FUNC__マクロとかを使ってカスタマイズするもよし。
元ネタはこちら http://d.hatena.ne.jp/mindcat/20090523/1243045233