C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[24241] Re:C언어 파일의 분할 대해서 질문이 있습니다..
라스코니 [chouoo] 13810 읽음    2013-10-04 21:26
소소 파일의 분할이라고 이해하겠습니다.

만약 make를 안쓰고 Visual C++ 나 Borland C++ 같은 툴을 쓰신다면 빌드하면 자동으로 모든 *.c 파일을 컴파일합니다. .h 는 컴파일을 하지 않습니다.
헤더라고 하는 .h 파일은 #include "test.h" 이런 식으로 흔히 붙이죠?
이건 test.h를 그대로 긁어다 #include "test.h" 위치에다 붙입니다.

가령 test.h 가
int yo = 3;
으로 되어 있고,

test.c 가
#include "test.h"
int ha = 2;

로 되어 있다면 컴파일 시점에 test.c 는
int yo = 3;
int ha = 2;

이렇게 바뀝니다. 고로 test.h 가 여러 소소 파일에서 include되면 조심을 해야 겠죠.
오류 메시지가 아마 multiple defined 이런식으로 되어 있을 건데 헤더에는 메모리에 뭔가를 잡는 선언은 하면 안됩니다.
가령
int yo = 3;  같은 거죠

extern int yo; 는 괜찮습니다.

#ifndef _TEST_H_
#define _TEST_H_
....
#endif

식으로 연속 참조가 안되도록 가이드를 붙이는 것도 좋습니다.

관동 님이 쓰신 글 :
: 죄송합니다. 질분이 있어서 이렇게 글을 올립니다.
:
: 제가 C++ 공부를하고있는데 파일의 분할이라는 문제가나와서 C언어 를 다시 한번 보고있습니다.
:
: 그와중에 파일 분할 은 다 할줄 아는데.... 컴파일을 어떻게 해야될지를 모르겠습니다.
:
: 교재에 나와있는 문제의 답을 그대로 2개의 .c파일과 하나의 .h 파일로 만들었는데 컴파일을 했는데 자꾸
:
: 오류가나와서.... 3개를 동시에 컴파일을 해야되나요?? 분할을 해서 하나만 하면 당연히 오류가 나오는건 알고있습니다.

: 분할을 했는데 어떻게 3개를 동시에 컴파일을 해야하는지 알려주시면 감사하겠습니다.

+ -

관련 글 리스트
24239 C언어 파일의 분할 대해서 질문이 있습니다.. 관동 19288 2013/10/04
24241     Re:C언어 파일의 분할 대해서 질문이 있습니다.. 라스코니 13810 2013/10/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.