less than 1 minute read

파일의 분할과 헤더파일의 디자인

  • 하나의 파일

    하나의 파일은 유지보수 하기 힘들어짐

    용도 및 특성 별로 나눠서 저장하면 유지보수에 용이

  • 컴파일러의 특성

    파일 단위로 컴파일 진행함

  • extern

    외부에 선언되었다고 컴파일러에게 알리는 키워드

    함수는 생략 가능

    extern 자료형 변수명; 으로 선언

  • static

    변수를 다른 파일에서 접근하지 못 하게 할 때 사용함

    함수에도 사용 가능하며 적용된 함수는 다른 파일에서 접근 불가능함

  • #include

    파일의 내용을 단순히 포함시키는 지시자

  • 헤더 파일 include 방법

    #include <헤더파일 이름=""> 은 절대 경로 탐색. 표준 헤더파일이 저장되어 있는 디렉터리에서 파일 찾음 #include "헤더파일 이름"은 상대 경로. 소스파일이 저장된 디렉토리에서 헤더파일 찾음

  • 상대경로

    파일의 현재 위치를 이용하여 경로를 지정하는 것

    절대 경로는 어느 컴퓨터이든 같은 위치가 지정되므로 프로젝트 단위로 다른 컴퓨터에서 다루기 어려움

  • 헤더 파일에 무엇을 담음?

    extern 자료형 변수명; 같은 선언을 모아두고 필요할 때마다 헤더파일을 포함시킴

  • 구조체의 정의

    구조체는 여러 곳에서 쓰일 확률이 높기 때문에 헤더파일에 삽입하는 것이 좋음

  • 헤더파일의 중복삽입 문제

    헤더파일 중복 삽입 자체는 문제가 되지 않음

    구조체의 정의가 중복될 경우 실행 파일의 크기와 실행 파일의 내용이 달라져 컴파일 에러 발생함

  • 헤더파일 중복삽입 문제 해결

    #ifndef 로 헤더 파일 삽입 확인하여 해당 헤더파일 이미 삽입되어 있을 경우 삽입되지 않게 해서 중복 막음

Categories:

Updated: