(C++)링커에 대해


우선 개발자가 c언어로 코딩을 한다는 가정하에 이때 개발자는 *.c 혹은 *.cpp이 될 수도 있는 파일을 작성(Cording)하게 된다그리고 소스파일을 빌드(Build)하게 되는데 이때 고급언어인 C언어를 보다 낮은 언어인 어셈블리어로 변환하며 그 후에 다시 어셈블리어를 기계어로 바꿔주는 역할을 컴파일러(Compiler)가 수행한다대부분 흔히 고급언어에서 기계어로 변환하는 것을 컴파일(Compile) 이라고 칭한다이 과정에서 오브젝트 파일(*.obj) 파일을 생성하게 된다그 후 생성된 오브젝트 파일과 사용된 함수가 포함된 함수 라이브러리를 묶어주는 작업을 실행하는데 이 과정을 링킹(Linking)이라 하며 링커(Linker)가 담당한다링킹의 결과로써 실행 파일(흔히 *.exe 혹은 *.com)이 만들어지게 되는데 이 파일을 로더(Loader)가 메모리에 올려야(Load)비로서 프로그램이 실행이 된다우리는 그냥 Ctrl+F7, Ctrl+F5를 눌렀지만 컴퓨터 내부에서는 이런 치열한 일들이 벌어지고 있었던 것이다.

댓글

이 블로그의 인기 게시물

(네트워크)폴링방식 vs 롱 폴링방식

(ElasticSearch) 결과에서 순서 정렬

(18장) WebSocekt과 STOMP를 사용하여 메시징하기