승쨩개발공부

[C++] 파일분할 본문

C++

[C++] 파일분할

SeungHyune 2021. 12. 1. 01:36

파일 분할

파일을 나누는 것.

 

파일 분할의 필요성

하나의 파일에 모든 코드를 다 작성하기에는 길어지고 찾기가 힘들다.

 

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