![헤더 파일을 여러 C 파일에 포함](https://linux55.com/image/113052/%ED%97%A4%EB%8D%94%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%97%AC%EB%9F%AC%20C%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%ED%8F%AC%ED%95%A8.png)
나는 장치의 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을 정의하므로 그 안에 어떤 비트도 정의하지 않습니다.