윤성우 열혈 C 27장 간단 정리
파일의 분할과 헤더파일의 디자인
-
하나의 파일
하나의 파일은 유지보수 하기 힘들어짐
용도 및 특성 별로 나눠서 저장하면 유지보수에 용이
-
컴파일러의 특성
파일 단위로 컴파일 진행함
-
extern
외부에 선언되었다고 컴파일러에게 알리는 키워드
함수는 생략 가능
extern 자료형 변수명; 으로 선언
-
static
변수를 다른 파일에서 접근하지 못 하게 할 때 사용함
함수에도 사용 가능하며 적용된 함수는 다른 파일에서 접근 불가능함
-
#include
파일의 내용을 단순히 포함시키는 지시자
-
헤더 파일 include 방법
#include <헤더파일 이름=""> 은 절대 경로 탐색. 표준 헤더파일이 저장되어 있는 디렉터리에서 파일 찾음 #include "헤더파일 이름"은 상대 경로. 소스파일이 저장된 디렉토리에서 헤더파일 찾음헤더파일>
-
상대경로
파일의 현재 위치를 이용하여 경로를 지정하는 것
절대 경로는 어느 컴퓨터이든 같은 위치가 지정되므로 프로젝트 단위로 다른 컴퓨터에서 다루기 어려움
-
헤더 파일에 무엇을 담음?
extern 자료형 변수명; 같은 선언을 모아두고 필요할 때마다 헤더파일을 포함시킴
-
구조체의 정의
구조체는 여러 곳에서 쓰일 확률이 높기 때문에 헤더파일에 삽입하는 것이 좋음
-
헤더파일의 중복삽입 문제
헤더파일 중복 삽입 자체는 문제가 되지 않음
구조체의 정의가 중복될 경우 실행 파일의 크기와 실행 파일의 내용이 달라져 컴파일 에러 발생함
-
헤더파일 중복삽입 문제 해결
#ifndef 로 헤더 파일 삽입 확인하여 해당 헤더파일 이미 삽입되어 있을 경우 삽입되지 않게 해서 중복 막음