デバッグなど出力をするときに使うと便利なマクロです。
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