1

プログラムがあるとします

main.c

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

gcc -I /local main.c

このプログラム内のヘッダー ファイルのインクルード パスを見つけるにはどうすればよいですか?

  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 に答える