승쨩개발공부
[C++] 파일분할 본문
파일 분할
파일을 나누는 것.
파일 분할의 필요성
하나의 파일에 모든 코드를 다 작성하기에는 길어지고 찾기가 힘들다.
1. 헤더 파일
음식점의 매뉴판
어떤 종류의 기능들이 있는지 함수의 선언부, 구조체 등의 정의행태가 작성되어 있는곳,
-> 헤더파일만 볼 경우 특정 함수가 어떻게 작동하는지 알 수 없다.
2. 소스 파일
주문한 음식
헤더파일에서 선언한 함수의 기능이 작성되어 있는 곳. (정의부)
-> 소스파일이 실제로 번역되어 프로그램을 수행하는 파일이다
파일 분할 시 주의사항
1. 컴파일은 파일 단위로 진행한다.
-> 필요한 선언들은 모두 포함해야한다.
단, 사용자가 만들 헤더파일을 include하기 위해서는 경로를 명시해야한다.
2. 헤더파일에는 전역 변수를 선언할 수 없다.
3. 헤더파일에는 함수의 정의부를 정의할 수 없다.
-> 링크 오류
파일 분할 시 문제점
다양한 파일을 만들고 서로 include할 경우 문제가 발생할 수 있다.
-> 무한 참조 현상
무한 참조 현상 해결
한번 include한 파일은 더 이상 include하지 않도록 만들어야 한다.
1. #prgma once
한번 포함시킨 파일은 더 이상 포함시키지 않도록 명령하는 것,
단, 표준이 아니다.
2. 조건부 컴파일 #ifndef + #define을 사용한다.
'C++' 카테고리의 다른 글
[C++] 디버깅 (0) | 2021.12.01 |
---|---|
[C++] String (0) | 2021.12.01 |
[C++] 조건부 컴파일 (0) | 2021.12.01 |
[C++] 매크로(Define) (0) | 2021.12.01 |
[C++] 레퍼런스 (0) | 2021.11.30 |