C언어 - 분할컴파일을 통한 static, extern 확인
- 분할 컴파일을 통해 static, extern에 대한 사용 확인
main.c |
test.c |
#include"main.h" |
#include<stdio.h> |
main.h |
test.h |
#ifndef __MAIN_H__ |
#ifndef __TEST_H__ |
⇒ 출력 결과(cmd)
- 분할 컴파일 과정
⇒ 1) gcc -c *.c (.o 파일 생성)
2) gcc -o main *.o
⇒ gcc -o main *.c (위의 1, 2번 과정을 동시에)
⇒ cl *.c (cmd 창에서 컴파일)
⇒ static의 두가지 의미
→ 전역 변수처럼 취급된다.(지역 변수로 사용시)
→ 다음 파일에서 접근할 수 없는 전역 변수가 된다.(전역 변수로 사용시) - 접근속성
⇒ static 클래스와 extern 클래스는 auto 클래스나 register 클래스와는 달리 함수의 실행이 끝난 뒤에도 남아있는 변수이다.
⇒ static 클래스는 함수의 내부에서나나 외부에서 모두 선언될 수 있고 extern 클래스는 함수의 외부에서만 선언된다.
⇒ static 변수는 초기화를 하지 않아도 시스템에 의해서 자동적으로 0이나 NULL로 초기화 된다.
'내장형 하드웨어 > C언어' 카테고리의 다른 글
C언어 - 열거형의 활용 (메시지 맵의 기본 형식) (0) | 2011.08.18 |
---|---|
C언어 - 열거형(enum) (0) | 2011.08.17 |
C언어 - 저장클래스(지속기간, auto, register, static, extern) (0) | 2011.07.19 |
C언어 - 연결리스트 (0) | 2011.07.18 |
C언어 - 연결리스트 (0) | 2011.07.14 |