__func__ 扩展到标准化的文本吗?
Is the text that __func__ expands to standardized?
名为 __func__
的宏的存在是 C99 的一部分,其意图很明确,但它在给定函数中扩展到的确切文本是否标准化?
是的。宏被定义为扩展到函数的名称。
C11,§6.4.2.2
The identifier _ func _ shall be implicitly declared by the
translator as if immediately following the opening brace of each
function definition, the declaration
static const char _ func _[] = "function-name";
appeared, where function-name is the name of the lexically-enclosing
function.
标准将其描述为等同于 字符串文字 具有确切的函数名称。所以我认为对此没有任何其他解释。
名为 __func__
的宏的存在是 C99 的一部分,其意图很明确,但它在给定函数中扩展到的确切文本是否标准化?
是的。宏被定义为扩展到函数的名称。
C11,§6.4.2.2
The identifier _ func _ shall be implicitly declared by the translator as if immediately following the opening brace of each function definition, the declaration
static const char _ func _[] = "function-name";
appeared, where function-name is the name of the lexically-enclosing function.
标准将其描述为等同于 字符串文字 具有确切的函数名称。所以我认为对此没有任何其他解释。