헤더 파일을 여러 C 파일에 포함

헤더 파일을 여러 C 파일에 포함

나는 장치의 Linux 커널을 로컬에서 수정하고 /include/linux에 헤더 파일(예: ah)을 추가하고 이를 커널 디렉토리의 두 C 파일에서 참조했습니다. 헤더 파일에는 내부에서 초기화된 구조가 포함되어 있습니다. 커널을 컴파일할 때마다 "struct_var" 오류에 대한 여러 정의가 표시됩니다. 어떤 변경을 해야 합니까?

답변1

한 번만 포함되어 있는지 확인해야 합니다.

일반적으로 다음을 사용합니다.

#ifndef UNIQUE_IDENTIFIER_MAYBE_THE_FILENAME
#define UNIQUE_IDENTIFIER_MAYBE_THE_FILENAME

// your file contents go here

#endif

이렇게 하면 컴파일러가 이 파일을 두 번째로 포함할 때 UNIQUE_IDENTIFIER_MAYBE_THE_FILENAME을 정의하므로 그 안에 어떤 비트도 정의하지 않습니다.

관련 정보