获取包含在同一程序中的路径

时间:2012-11-07 04:53:06

标签: c gcc

假设我有一个程序

的main.c

#include "file.h" 
#include <stdio.h>
int main()
{
//Code to found the included path
}

gcc -I /local main.c

如何在此程序中找到包含头文件的路径 现在他们可以成为3个包含的路径

  1. 当前目录
  2. ENV在Path VARIABLE或其他
  3. 中设置
  4. -I选项
  5. 附带的目录

    请提供一种在同一程序中获取此功能的方法。

1 个答案:

答案 0 :(得分:2)

对于您可以编辑的包含文件,您可以使用__FILE__宏。它使预处理器插入完整文件的名称,如/the/directory/filename

只需在您的标题中添加以下行:

static const char MyIncludeFileName[] = __FILE__;

如果您没有引用MyIncludeFileName(来自包含标题的代码),编译器可能会发出警告MyIncludeFileName已声明但未使用。要告诉编译器要安静,请执行以下操作:

static const char MyIncludeFileName[] __attribute__ ((unused)) = __FILE__;