C 언어 extern 에 대해 질문 드립니다.
글쓴이: poplinux / 작성시간: 토, 2007/09/29 - 10:57오전
소스를 다음과 같이 세 개로 나누었습니다.
a.c
b.c
c.c
a.c 에 전역 변수 하나를 선언해 놓은 상태입니다. 예를 들어 int g_test 라고 할 때 b.c 나 c.c 에서 g_test 를 사용하려면 extern int g_test 라고 선언하여 사용해야 합니다.
이렇게 사용하다보니 소스 크기가 커지거나 소스 갯수가 늘어날 경우엔 관리하기가 불편해 집니다. 혹시 다른 방법으로 할 수 있을까요?
Forums:


#include 를
#include 를 이용합니다.
일반적으로 필요한 extern 을 헤더파일 (.h) 안에 모아두고, 각 소스마다 그 헤더파일을 인클루드하는 방법을 씁니다.
중복 포함 방지를 위해 헤더 파일에는 대개 다음과 같은 구문을 사용합니다.
_XXX_H 는 각 헤더 파일마다 고유하게 정의되는 심볼이어야 하겠지요.
Orion Project : http://orionids.org
윗분에 대한 말에 조금 더 붙일께요..
extern은 별로 좋은 표현은 못됩니다..
윗분처럼 #include를 만들어서 사용하면..
보기도 편하고 나중에 유지 보수도 조금 쉽겠죠.. ??
비슷한내용끼리
비슷한내용끼리 struct로 묶어서 처리하세요.
extern 갯수를 줄이는게 좋아요.