
소스 파일
컴파일
컴파일 과정
----------
1. 전처리(Preprocessing)
- #include, #define 등 처리 -> 아직 고급 언어 수준
2. 컴파일(Compilation)
- C/Python 등 고급 언어 -> 어셈블리어 변환 - ISA에 맞는 어셈블리 생성
3. 어셈블(Assembling)
- 어셈블리어 -> 기계어(Object file) - ISA 기반 기계 명령 생성
4. 링크
- 여러 오브젝트 파일 -> 실행 파일로 합침 - ISA 기반 바이너리 완성
=>
* 이러한 과정으로 2, 3단계에서 ISA(Instruction Set Architecture)가 실제로 반영되어 CPU 아키텍처 정보를 바탕으로 명령을 지원하여 서로 다른 CPU 아키텍처면 프로그램 동작을 못하는 문제가 발생
- 해결 방법은 다양
실행 파일