ヘッダファイルを複数のCファイルに含める

ヘッダファイルを複数のCファイルに含める

私はデバイスのLinuxカーネルをローカルで変更し、/include/linuxにヘッダファイル(例えばah)を追加し、それをカーネルディレクトリの2つのCファイルで参照しました。ヘッダーファイルには、内部で初期化された構造が含まれています。カーネルをコンパイルするたびに、「struct_var」エラーのいくつかの定義が表示されます。どのような変更が必要ですか?

ベストアンサー1

一度だけ含まれていることを確認してください。

通常、次を使用します。

#ifndef UNIQUE_IDENTIFIER_MAYBE_THE_FILENAME
#define UNIQUE_IDENTIFIER_MAYBE_THE_FILENAME

// your file contents go here

#endif

これにより、コンパイラがこのファイルを2番目に含めるときにUNIQUE_IDENTIFIER_MAYBE_THE_FILENAMEを定義し、その中にビットを定義しません。

おすすめ記事