컴파일러는 실행할 플랫폼에 맞는 기계어 코드를 생성해야한다.하지만 운영체제와 CPU 아키텍처마다 명령어 세트, 실행 방식이 다르기에 동일한 소스코드라도 각 플랫폼에 맞게 다르게 변환된다. 주요 원인1. CPU 아키텍처의 차이 - CPU 마다 지원하는 명령어 세트가 다름 대표적 아키텍쳐 종류x86 = 데스크톱, 서버에서 사용ARM = 스마트폰, 임베디드 시스템 같은 코드라도 x86 과 ARM 에서 실행되는 코드가 다르게 컴파일 됨int Add(int a, int b){ return a + b; }====== x86 ======mov eax, edi ; // a 값을 eax 레지스터에 저장add eax, esi ; // b 값을 더함ret ; // 함수 반환====== ARM64 ..