본문 바로가기
Language&Framework&Etc/C

파일의 분할과 헤더파일의 디자인(27-2) 둘 이상의 파일을 컴파일하는 방법과 static에 대한 고찰

by 머리올리자 2020. 12. 19.

파일정리

총 세 개의 파일을 만든다.

 

num.c

func.c

main.c

 

main.c에서는 printf 함수의 호출문이 존재하기 때문에  C 언어의 표준 라이브러리 함수의 매크로 정의, 상수, 여러 형의 입출력 함수가 포함된 헤더 파일인 #include <stdio.h> 추가

 

파일분할 예시

 

파일 추가(소스 파일 → 추가 새 항목)

아래와 같이 파일명 수정 후 추가 버튼

 

파일 세 개 작성

num.c

 

func.c

main.c

 

main.c 실행

함수에도 static 선언 가능

전역변수에 static 선언을 할 수 있듯이 함수에도 static 선언을 할 수 있다.

 

static 전역변수와 마찬가지로 파일 내에서만 접근이 가능하도록 함수를 제한

 

static void MinCnt(void) // 외부 파일에서 호출 불가능한 함수
{
	cnt--;
}

함수가 위와 같이 정의되면, extern 선언을 하더라도 다른 파일에서는 접근이 불가

 

이는 코드의 안정성을 높이는 역할을 하는 만큼(파일의 외부에서 원치 않게 호출되는 것을 막을 수 있다), 파일 내에서만 호출하기 위해서 정의된 함수라면 이렇듯 static 선언을 추가하여 코드에 안정성을 부여.

 

참고 : [윤성우 열혈 C 프로그래밍] - 대부분의 내용 및 코드는 이 책에서 개인 공부 정리 목적으로 참고하였습니다.