전처리->컴파일->링크 ->실행파일
컴파일 종료시 프로젝트명.obj의 형태가 됨, 모든 소스코드들이 기계어가 되었다는 것
링크: 컴파일된 기계어들을 라이브러리 파일들과 결합하는 단계
선언: 식별자 이름과 속성
int number;
void math();
정의 :식별자 본질
Void math(){}
정의는 선언이다
순수선언 :정의가 아닌 선언
예)
using 선언, type선언, 초기화 없는 extern 변수 선언과extern함수 선언,
클래스 또는 구조체 내에 선언된 static변수,
클래스 또는 구조체명 선언
Using,type 선언
컴파일은 하나의 cpp파일 단위로 수행
식별자 사용 전 선언
순수 선언은 2회 이상 가능
ODR(One Definition Rule) 식별자 정의는 단 하나이면서 꼭 존재해야 함
헤더 파일 참조를 통해 다중 프로그래밍 실현
헤더파일끼리의 참조는 피할 것,
전방 선언을 사용 할것
링크단계에서 하나의 파일로 만들어짐,
위의 원칙들을 지키기 위해