◆소스파일 - 오브젝트 파일
▷하나의 소스 파일은 컴파일이 될 때 하나의 오브젝트 파일을 생성한다.
▷윈도우는 .obj , 맥이나 리눅스의 경우 .o 파일이 된다.
▷이렇게 생성된 obj들로 하나의 실행파일(exe)을 만들어내게 된다.
◆헤더파일들을 소스파일에 모두 포함 시키고 오브젝트 파일을 만듭니다. 이후 이 오브젝트 파일을 모아 실행파일을 만듭니다.
◆exe 파일이 만들어 질 때 선언부는 반복해도 되지만 동작은 한번만 작성되어야 합니다.
◆매크로(전처리)의 컴파일
▷매크로는 소스파일 하나에 한번씩만 적용이 됩니다.
- ifdef, ifndef, define
◆시그니쳐 링킹
▷obj에서 실행파일을 만들 때 함수의 선언을 실제 몸체와 연결시키는 작업을 하는데 이것을 링킹이라고 합니다.
▷함수의 선언으로부터 몸통을 하나하나 찾아가는 과정이 됩니다.
◆obj 파일을 만들 때, 전방 선언되지 않은 함수(혹은 클래스)가 선언 전에 사용되면 LNK 에러가 발생합니다.
▷이 때, 해당되는 헤더파일과 소스파일이 제대로 전방선언 되었는지 확인합니다.
'C++ > C++' 카테고리의 다른 글
[C++] 문자열, 네임스페이스, 레퍼런스 타입 (0) | 2023.02.13 |
---|---|
[C++] Bitwise와 순수 가상함수 (0) | 2023.02.13 |
[C++] 여러개의 헤더와 소스 (0) | 2023.02.13 |
[C++] 열거형 (0) | 2023.02.08 |
[C++] 가상함수 (0) | 2023.02.07 |