同前FILE__と_LINE_うマクロ
1451 ワード
<C intefaces and implements>を見て、_u uを見ました.FILE__と_LINE_ひ、よく分かりませんでした.そこで調べてみました.
同前FILE__と_LINE_うは、事前定義されたマクロです.標準的なコンパイラでこれらのマクロを使用することができます.
同前FILE_マクロ出力は現在の入力ファイルのパスで、ファイル名を含めています.LINE_うマクロは、現在のコードの行番号(整数変数)を出力します.
以下のテキスト部分は、http://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html
同前FILE__と_LINE_うは、事前定義されたマクロです.標準的なコンパイラでこれらのマクロを使用することができます.
同前FILE_マクロ出力は現在の入力ファイルのパスで、ファイル名を含めています.LINE_うマクロは、現在のコードの行番号(整数変数)を出力します.
以下のテキスト部分は、http://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html
__FILE__
This macro expands to the name of the current input file,in the form of a string constant.This is the path by which the prepcessor opened the file,not the shot name specified in` "/usr/local/include/myheader.h"
is a possible expansion of this macro. __LINE__
This macro expans to the current input line number,in the form of a decimal integer constant.While we call it a prefined macro,it's a pretty strange macro,since its“definition”changes with each netline.source.contre.incle.__FILE__
and __LINE__
aruseful in generation an error message to report an inconsistency detected by the program;the message can state the source line the inconsistency was detected.For example、 fprintf (stderr, "Internal error: "
"negative string length "
"%d at %s, line %d.",
length, __FILE__, __LINE__);
#include<stdio.h>
int main(){
printf("%s
",__FILE__);
printf("%d
",__LINE__);
return 0;
}