링커1 [C언어]링크(Link) 단계 (컴파일과 링크가 따로 되어있는 이유) 링크란? 대략적인 과정은 링커가 모든 오브젝트 코드들을 입력받아서 최종실행파일을 출력하는 과정이다. 입력 : 모든 오브젝트 코드들 링커는 오브젝트 코드에 있는 구멍들을 메꿔줘야 하므로 모든 오브젝트 코드들을 입력받는다 처리 오브젝트 파일을 다 모아서 하나의 이진파일로 만들면서 함수들의 위치도 기억하고 있는다 그러다 함수 호출 코드를 만나면 실행위치(구멍)에 함수 주소로 점프하는 코드를 넣어준다 출력 : 최종실행파일(.exe, .out) 파일에서 선언만 되어있고 구현(정의)이 되지 않아서 여전히 구멍으로 남으면 어떡하나요? 이럴 때는 링커가 링커오류를 출력한다. 이는 경고(Warning)가 아니라 애러(Error)이기 때문에 실행파일이 만들어지지 않는다. 왜 컴파일단계와 링크 단계가 분리되어 있는 이유 ... 2023. 2. 16. 이전 1 다음