소스를 다음과 같이 세 개로 나누었습니다.
a.c b.c c.c
a.c 에 전역 변수 하나를 선언해 놓은 상태입니다. 예를 들어 int g_test 라고 할 때 b.c 나 c.c 에서 g_test 를 사용하려면 extern int g_test 라고 선언하여 사용해야 합니다.
이렇게 사용하다보니 소스 크기가 커지거나 소스 갯수가 늘어날 경우엔 관리하기가 불편해 집니다. 혹시 다른 방법으로 할 수 있을까요?
#include 를 이용합니다.
일반적으로 필요한 extern 을 헤더파일 (.h) 안에 모아두고, 각 소스마다 그 헤더파일을 인클루드하는 방법을 씁니다.
중복 포함 방지를 위해 헤더 파일에는 대개 다음과 같은 구문을 사용합니다.
#ifndef _XXX_H # define _XXX_H /* 헤더 파일 내용을 쓴다. */ #endif /* _XXX_H */
_XXX_H 는 각 헤더 파일마다 고유하게 정의되는 심볼이어야 하겠지요.
Orion Project : http://orionids.org
extern은 별로 좋은 표현은 못됩니다..
윗분처럼 #include를 만들어서 사용하면..
보기도 편하고 나중에 유지 보수도 조금 쉽겠죠.. ??
비슷한내용끼리 struct로 묶어서 처리하세요. extern 갯수를 줄이는게 좋아요.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
#include 를
#include 를 이용합니다.
일반적으로 필요한 extern 을 헤더파일 (.h) 안에 모아두고, 각 소스마다 그 헤더파일을 인클루드하는 방법을 씁니다.
중복 포함 방지를 위해 헤더 파일에는 대개 다음과 같은 구문을 사용합니다.
_XXX_H 는 각 헤더 파일마다 고유하게 정의되는 심볼이어야 하겠지요.
Orion Project : http://orionids.org
윗분에 대한 말에 조금 더 붙일께요..
extern은 별로 좋은 표현은 못됩니다..
윗분처럼 #include를 만들어서 사용하면..
보기도 편하고 나중에 유지 보수도 조금 쉽겠죠.. ??
비슷한내용끼리
비슷한내용끼리 struct로 묶어서 처리하세요.
extern 갯수를 줄이는게 좋아요.
댓글 달기