【发布时间】:2023-03-26 22:43:02
【问题描述】:
如果__FILE__ 宏位于.h 中,是否有关于如何扩展它的规范?
如果我在foo.h中定义
#define MYFILE __FILE__
并将其包含在foo.c
#include "foo.h"
int main(){
printf("%s",MYFILE);
....
}
这个输出是foo.h 还是foo.c? (是的,我知道这是一个愚蠢的例子)
很抱歉应该是一个简单的问题。网络上的文档似乎相互矛盾。对于它的价值,VS2008 以foo.c 的形式返回,这是我所期望的......我想。我只是想确认这是否是已定义的行为。
【问题讨论】:
-
原发帖人确实尝试过,他在询问该行为是否已定义且可移植。
-
谢谢大家的回答......我想我想得太狭隘了,只考虑查看 FILE 的规范......当被视为通用宏,它非常有意义。
标签: c macros c-preprocessor