1

假设我有一个程序

主程序

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

gcc -I /local main.c

我怎样才能在这个程序中找到头文件的包含路径现在它们可以是3个包含路径

  1. 当前目录
  2. 在 Path VARIABLE 或其他中设置的 ENV
  3. -I 选项包含的目录

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

4

1 回答 1

2

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

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

static const char MyIncludeFileName[] = __FILE__;

如果您不参考MyIncludeFileName(从包含标头的代码中),编译器可能会发出MyIncludeFileName已声明但未使用的警告。要告诉编译器对此保持安静,请执行以下操作:

static const char MyIncludeFileName[] __attribute__ ((unused)) = __FILE__;
于 2012-11-07T07:49:59.253 回答