게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
ifndef과 라이브러리 질문이요!
게시물ID : programmer_3438짧은주소 복사하기
작성자 : 밤나무꽃향기
추천 : 0
조회수 : 364회
댓글수 : 5개
등록시간 : 2014/05/22 10:17:35
옵션
  • 본인삭제금지
현재 global.h라는 헤더파일에 아래와 같이 구조체 정의 및 선언을 하였고
main.c와 test.c에서 global.h를 인클루드 하고 있습니다.


/*******************************************************************/
#ifndef _GLOBAL_H
#define _GLOBAL_H

typedef struct{
   unsigned char test_a;     // 
   U8 test_b;                      // 이부분에서 에러가 발생함
}test_struct;
test_struct test;

#endif
/*******************************************************************/

일단 헤더파일의 중복 컴파일을 막기위해 ifndef으로 감싸 주었고요
구조체를 헤더파일에 정의 및 선언 하였는데
아래와 같은 에러메시지가 출력 됩니다.


제목 없음.png

U8이라는 예약어를 사용한 헤더파일을 복수의 .C에서 인클루드 하면 위와 같은 에러메시지가...

- 하나의 .C에서만 인클루드하면 에러가 발생하지 않습니다.
  또는 복수의 .C에서 인클루드 하되 U8이라는 예약어를 사용하지 않으면 에러가 발생하지 않습니다.

U8은 라이브러리 내에 아래와 같이 정의 되어 있습니다.

typedef unsigned char U8;

U8이라는 예약어를 사용하지 않고 unsigned char로 사용하면 되겠지만
U8외에도 라이브러리 내에서 정의하는 다른 핸들러를 사용해야 하기 때문에 본 문제를 꼭 뛰어 넘어야 하네요 ㅜㅜ
고수님들 도와주세요..


전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호