고급언어, 컴파일러, 링커, 로더, 어셈블러, 라이브러리 C언어와 같은 고급 언어로 프로그램을 작성하면 컴파일러는 소스코드를 컴파일하여 이를 엉셈블리 프로그램으로 변환한다. 어셈블러는 이를 기계어 프로그램(오브젝트 파일)로 변환하고, 다른 오브젝트 파일들과 라이브러리 파일들을 링커가 합쳐서 Executable File 을 만든다. 오브젝트 파일은 불완전한 형태의 기계어 파일로, 불완전한 이유는 우리가 하나의 파일에만 코드를 작성하지 않고 다른 파일에 분리해 작성하여 생긴 파일 및 내가 작성하지 않았지만 다른 사람이 작성한 함수들을 합치지 않았기 때문이다. C언어를 예로 들면 Math 나 Print 관련 함수들을 떠올릴 수 있다. 링커는 이 파일들을 합쳐 실행가능한 파일을 생성한다. GCC같은 컴파일러 소..