헤더파일 관련 질문입니다
내길
2023.04.01
안녕하세요
윤성우 교재로 c언어 헤더파일 공부중인데요,
#include .h를 하면 헤더에 있는 내용을 그대로
옮긴다고 되어있는데
헤더파일에는 함수 선언만 있고 정의는 다른 .c파일에 되어있다고 할때
main함수에서 헤더파일을 #include하면 함수 선언부만 있고 정의 부분은 없으므로 실행이 안되어야 하지 않나요? 컴파일러는 파일단위로만 컴파일 한다니깐요.
답변해주시면 감사하겠습니다~
-
뿌닝
stdio.h 에서 선언된 함수들은 C언어 런타임 라이브러리에 그 정의가 컴파일된 상태로 들어있습니다.
윈도우에서는 MSCRTxxx.DLL 라는 파일이 그겁니다. -
딥와인
답변감사합니다~
-
내담
컴파일에서는 함수가 다른 데에 있으므로 자리를 비워놓고 컴파일을 끝내게 됩니다. obj가 만들어지게 됩니다. 이제 링커가 연결을 시켜서 exe를 만들게 됩니다.
-
정예
그리고 링커가 연결시켜주니깐요.