Notice
Recent Posts
Recent Comments
Link
bdfgdfg
C/C++의 빌드 과정 본문
반응형
C/C++의 빌드과정은 총 4단계를 거친다.
1단계 : 전처리(preprocessing) 단계
- 전처리기에 의해 소스코드에서 작성된 #지시구문 #include, #define등을 처리한다. #include의 경우 해당 헤더파일의 내용을 가져다가 붙여넣는등 매크로들을 처리한다.
2단계 : 컴파일(Compile) 단계
- 컴파일이란 번역한다는 의미이다. 여기서 헷갈릴 수 있는게 이 컴파일 단계에서 바로 기계가 해석할 수 있는 기계어로 번역되는게 아니라 저수준 언어인 어셈블리어로 번역이 된다.
3단계 : 어셈블(Assemble) 단계
- 컴파일 단계에서 컴파일러가 소스코드를 어셈블리어로 번역 해주었다. 이 때 어셈블리어를 번역해주는 어셈블러에 의해 다시 번역이되고 이 때 만들어지는게 목적 파일(Object File)이다. 아직은 실행가능한 상태가 아니며, C/C++은 모든 파일이 독립적으로 번역이 된다.
4단계 : 링크/링킹(linking) 단계
- 이제 3단계까지 처리된 모든 파일들을 하나로 연결해줘야 한다. Object File은 기계가 이해할 수 있는 번역본일 뿐 아직은 실행가능한 상태가 아니다. 이 때 라이브러리들을 연결 시켜주고, (예로들어 C/C++의 함수모듈이 작성된 헤더파일의 원형을 이 때 링커가 연결시켜준다) 실행가능한 exe 파일을 만들어준다.
이것이 C/C++의 빌드과정.
반응형
'게임프로그래밍 > C++' 카테고리의 다른 글
[C++ 객체지향] 캡슐화 및 은닉성 (0) | 2022.01.09 |
---|---|
[C++ 객체지향] 상속 및 추상화 (0) | 2022.01.07 |
[C++] 깊은 복사(Deep Copy) vs 얕은 복사(Shallow Copy) (1) | 2022.01.01 |
[C++] malloc,free VS new,delete + C++의 참조자 (0) | 2022.01.01 |
비쥬얼 스튜디오 기본클래스 자동생성 (0) | 2021.09.29 |
Comments