GCC preprocessor predefined macro __FILE__

#include <stdio.h>

int main(int argc, char *argv[])
{
    printf("hello world! %s\n", __FILE__);
    return 0;    
}
  • 如果在源代码同目录编译,则执行结果为:

gcc main.c

./a.out

hello world main.c

  • 如果不在源代码同目录编译,则执行结果为:

gcc ~/main.c

./a.out

hello world /home/xxxx/main.c

GCC没有提供strip full path的功能

 GCC preprocessor documentation 与 GCC documentation是不同的文档, __FILE__, __LINE__等预处理器预定义的宏文档在标题为"The C preprocessor"的文档中可查阅

posted @ 2018-01-02 09:48  redstar9451  阅读(117)  评论(0编辑  收藏  举报