메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

뇌를 자극하는 C++ 프로그래밍

뇌를 자극하는 C++ 프로그래밍 질의응답 게시판입니다.

헤더파일과 구현파일의 연결 인식은 어떻게 해서 되는가 _ 질문과 이현창님 답

2007-12-04

|

by 배인환

2482

( 메일로 답변을 받았는데, 여기에도 올립니다. - 같이 공유하자는 저자님의 말씀이 계셔서..)
여러 개의 파일을 헤더 파일과 구현 파일로 나누어 사용하는 방법에 대해 잘 읽어 보았습니다.

예를 들어,

// example.cpp

#include "A.h"

int main()
{
   A1();
   return 0;
}


// A.h
void A1();
void A2();


// A.cpp
void A1()
{
   ....
}


void A2()
{
   .....
}


이렇게 되어 있다면요. 저자님 말씀대로 example.cpp 안의 내용은 실제로

이렇게 되잖아요.. ===>

void A1();
void A2();

int main()
{
   A1();
   return 0;
}

질문 >> 이렇게 되면, void A1(); 이라는 원형만 있고 A1()함수의 정의 부분은 없는 모습이잖요?
            그런데, 어떻게 .h 헤더파일만 삽입하면 .cpp 구현파일에 있는 함수 정의부분이
          자동으로 연결이 되는지 알 수가 없네요.

            좀 가르쳐 주세요...

/////////
안녕하세요 이현창입니다. ^^


소스코드가 실행파일이 되는 사이에는 2가지 작업이 수반됩니다.
컴파일과 링크 입니다.
이 작업을 해주는 프로그램을 각각 컴파일러, 링커라고 부릅니다.
인환님께서 질문해주신  어떻게 자동으로 연결되냐 의 답은
바로 링커가 해주고 있습니다.
( 링커를 한글로 해석해보연 연결해주는 애 정도가 되겠죠 ^^ )


더 궁금하신 내용은
컴파일러(compiler), 링커(linker)에 대한 자료를 찾아보시면
좋을 듯 합니다. 결국에는 꼭 아셔야 하는 내용이니
시간이 아깝다 생각치 마시고 열심히 찾아보시기 바랍니다. ^^


감사합니다.
댓글 입력
자료실