2013. 3. 27. 16:07
C언어 수업정리/3월 수업정리
"이름.h" = ""안에 해당하는 header파일을 가져오다라는 뜻.
smart.h파일 = header 파일
header 파일은 원형(정의)
여기서 원형(정의0란?? void AA(float fnum);, int samback(int); 가 해당.
#ifndef = #define_SMART_H가 정의 되지 않으면 실행한다.
위의 그림은 smart.c
#include "smart.h" = smart.h 헤더파일을 가져오다.
그리고 몸체가 들어있다. samback 함수내용(몸체)을 붙여넣기했음.
함수 AA와 Samback의 몸체를 둘 다 가진다.
test.c 이것도 함수 몸체 test함수내용이다. 중요한것은
여기서 smaback이 아무런 내용이 없다. 그래서 smart.h와
smart.c에서 원형과 내용을 만들었다.
test.h 헤더파일 #ifdef 뒤에 _파일명_H_를 붙여야 함.
반드시 암기한다.
main.c = main()함수이다.
함수를 호출받는다.
그러나 링크 에러가 뜬다. obj파일은 만들어진다. 그이유는 아래그림 참조한다.
smart.h의 AA함수본체와 Samback함수본체가
smart.c의 AA함수본체와 Samback함수본체 소스가
똑같이 있다. 이부분이 겹치므로 컴파일은 링크단계를 가지 못한다.
그래서 본체는 하나만 있어야하며, 본체는 되도록이면
파일명 .c파일에서 출력한다.
'C언어 수업정리 > 3월 수업정리' 카테고리의 다른 글
3월 28일 cpu와 연관된 개념(지역변수) (0) | 2013.03.28 |
---|---|
3월 28일 지역변수 6-3예제 (0) | 2013.03.28 |
3월 27일 #ifndef, #if, #endif (0) | 2013.03.27 |
3월 26일 proto type 실습 (0) | 2013.03.26 |
3월 26일 메모리영역과 주소값관계 (0) | 2013.03.26 |