C言語入門:__LINE__
Cには、ソースコード中の行番号を数値としてプログラムに埋め込める __LINE__ という組み込みマクロが用意されています。 __LINE__ は、プログラムのデバッグに欠かせない存在です。
__LINE__を利用したサンプル
以下のサンプルは__LINE__を使った例です。 プリプロセッサが__LINE__部分を自動的に行番号に変換してからコンパイルされます。
#include <stdio.h>
int
main()
{
printf("line: %dn", __LINE__);
printf("line: %dn", __LINE__);
printf("line: %dn", __LINE__);
return 0;
}
このプログラムを実行すると、以下のような結果が表示されます。
> ./a.out
line: 6
line: 8
line: 10
このように、__LINE__が自動的に行番号へと変換されています。
プログラムを書く時には、__LINE__をデバッグ用のメッセージに入れておくと便利です。 予期しないエラーが発生したときに「どこら辺のプログラムを実行しているときのエラーメッセージだろうか?」というのを把握しやすくなります。
__LINE__の他に良く使う組み込みマクロとして__FILE__というものもあります。
次:__FILE__
おまけ