이번에는 기본 중 기본 빌드과정에 알아보려합니다.
빌드과정 진짜 너무너무 쉬워서 무시할 수 있는데, 그래도 컴파일 언어를 쓴다면 다시 되짚어보면 좋은기회라 생각해
글을 올리게되었습니다.
먼저 C++ 기준으로 빌드과정을 설명 및 정리하겠습니다.
빌드과정은
1. Preprocessor (전처리기)
- #define 같은 매크로나 지시자를 소스코드로 변경하고, cpp 확장자를 가진 파일이 i 파일이 된다.
2. Parser(문법검사)
- 코드 문법을 검사하고, 문법에 따라 코드를 쪼갠다.
3. Translation (번역)
- 소스코드를 어셈블리어로 번역하고, i파일이 s파일이 된다.
4. Assembler(번역)
- 어셈블리어를 기계어만큼 낮은 수준의 언어로 번역하고, s파일이 o파일이 된다.
------여기까지가 보통 Compile이라고 칭함------
5. Linker(Object 파일 연결)
- 작성된 소스코드가 사용하는 OS API(시스템 콜) 이나 표준 라이브러리를 연결시켜서, exe파일로 만든다.
- 여러개의 object파일(.o 확장자를 가진 파일)과 .lib 파일을 서로 연결 시키는 과정
아마 교재에서는 전처리 -> 컴파일 -> 어셈블링 -> 링킹 과정으로 배웠을텐데,
더 자세하게 기억하기위해서 세부적으로 기록했다.
추가적으로, 바이트코드 언어, 인터프리터 언어 등을 글을 포스트할텐데
C++, Java와 파이썬 등의 차이점을 이해할 수 있을 것이다.
참고 블로그 : http://jaynewho.com/post/14
'개발 > 개발자 면접 준비' 카테고리의 다른 글
x64와 x86의 차이 (0) | 2019.10.13 |
---|---|
Procedure, Function (0) | 2019.10.02 |
Call by Value, Call by Reference (0) | 2019.10.01 |