假设我有一个程序
主程序
#include "file.h"
#include <stdio.h>
int main()
{
//Code to found the included path
}
gcc -I /local main.c
我怎样才能在这个程序中找到头文件的包含路径现在它们可以是3个包含路径
- 当前目录
- 在 Path VARIABLE 或其他中设置的 ENV
- -I 选项包含的目录
请提供一种在同一程序中获取此信息的方法。
对于您可以编辑的包含文件,您可以使用__FILE__
宏。它使预处理器插入完整文件的名称,如/the/directory/filename
.
只需将以下行添加到您的标题中:
static const char MyIncludeFileName[] = __FILE__;
如果您不参考MyIncludeFileName
(从包含标头的代码中),编译器可能会发出MyIncludeFileName
已声明但未使用的警告。要告诉编译器对此保持安静,请执行以下操作:
static const char MyIncludeFileName[] __attribute__ ((unused)) = __FILE__;