헤더를 include 할때에 질문..
글쓴이: moonzoo / 작성시간: 수, 2003/06/25 - 2:04오후
예를 들어 현재 main.c 라는 file안에는
main() 과 a(), b () , c() ....z() 등과 같은 함수들을 선언하고
정의해 놓았습니다.
또한 global.h 에 갖가지 전역변수 및 include, define등을 정리했고
data.h에 struct 구조체등에 대해 정의해 놓았습니다.
이 두 헤더를 main.c 에서 include한 상태인데..
main.c안에 있는 a(), b(),c()등의 함수들을
각각 a.c , b.c , c.c , 등과 같이 외부로 빼서 처리할려고 하는데.
그러면 각각의 a.c , b.c , c.c 등의 파일에 global.h와 data.h를
모두 넣어줘야 하는 상황입니다.
웬지 프로그램이 무거워질꺼 같은데..
이런 상황에서는 어떻게 처리하는 것이 괜찮을까여?
Forums:
data.h[code:1]#ifndef __DATA_H__#d
data.h
ddt 님이 제시하신 방법을 통해 같은 헤더의 중첩 inlcude 에러를
ddt 님이 제시하신 방법을 통해 같은 헤더의 중첩 inlcude 에러를 피할 수 있습니다.
그리고, 단순히 여러 헤더를 include한다고 해서 프로그램이 무거워지는 것은 아닙니다. 단지 pre-compile과 complie시에 속도차이가 생길 수는 있겠지요. 헤더파일에는 대부분 전역변수나 함수 프로토타입같은 선언구가 주를 이루기 때문에 프로그램이 무거워지는 것은 크게 걱정하지 않으셔도 될 것 같습니다.
s(˘∼˘*)z,·´″"`°³о$ √(´∀`√)... (˘ヘ˘ㆀ)a
댓글 달기