2

カーネル モジュールをコンパイルして をインクルードしています<asm/unistd.h>が、コンパイラがunistd.hfromを使用して/usr/includes/いるか (間違っている)、from を使用しているか/usr/src/kernel-3.x.x/arch/x86/includes/(右) はわかりません。

私の質問は次のとおりです。これら 2 つのうちどちらをコンパイラが使用しているかを確認するにはどうすればよいですか?

また、カーネルヘッダーからのファイルではなく、カーネルヘッダーからファイルを強制する方法はあります/usr/includeか?

4

2 に答える 2

1

質問の 2 番目の部分に答えるには:

また、カーネルヘッダーからのファイルではなく、カーネルヘッダーからファイルを強制する方法はあります/usr/includeか?

-nostdincオプションを次の場所に渡すことができますgcc:

「ヘッダー ファイルの標準システム ディレクトリを検索しないでください。-I オプションで指定したディレクトリ (および、適切な場合は現在のファイルのディレクトリ) のみが検索されます。」

GCC: プリプロセッサを制御するオプション

于 2013-11-20T02:24:16.287 に答える