작성
·
193
2
struct.h에는 함수의 원형만 정의를 하고, 함수의 내용은 fun.cpp에 작성을 하였는데 왜 헤더파일만 include하는 것만으로 함수가 실행이 되는지 모르겠습니다.
답변 1
1
죄송합니다. 새로운 강의의 오픈 준비로 답변이 많이 늦었습니다.
-
CPP은 프로그램을 구성하는 함수들을 별개의 파일에 넣는 것을 권장하는 언어입니다.
그래서 통상적으로 하나의 파일을 아래의 세 분류로 나누어 관리합니다.
질문자님이 궁금하신 사안은
3번의 파일에서 2번의 파일을 따로 명시하지 않았음에도,
어떻게 2번의 코드에 있는 내용을 사용할 수 있는가?
같습니다.
보다 근본적으로 설명해 드릴려면, CPP의 다중 파일 프로그램에서 컴파일 과정을 설명드려야 할 것 같은데,
내용이 너무 도프해질 것 같아 간략하게 설명드리면
main 함수에서 컴파일 명령이 실행될 때, 전처리기가 포함된 파일들을 소스코드에 결합시켜주기 때문입니다.
아래의 게시글을 살펴보시면 더 자세한 설명을 확인하실 수 있을 것 같습니다.
https://stackoverflow.com/questions/6264249/how-does-the-compilation-linking-process-work