Linker
-
Static Memory Allocation지식 조각들/컴퓨터 2018. 8. 13. 23:09
목차 Static Memory Allocation 프로그램이 로딩되기까지 전반적인 과정 컴파일 과정과 링킹 과정 자세히 살펴보기 Static Memory Allocation 컴퓨터 사이언스에서 static이라는 말이 붙으면 보통 실행 전(=컴파일 타임)에 일어나는 일을 말한다. Static memory allocation은 프로그램이 수행되기 전에 미리 메모리를 할당하는 것을 뜻한다. 풀어서 쓰면 컴파일 타임에 code section, data section, BSS section이 메모리에 미리 올라가는 것을 말한다. Static allocation의 특징은 변수들의 life cycle이 프로그램의 시작과 종료가 일치하는 것이다. 프로그램이 로딩되기까지 전반적인 과정 소스 파일(source file) ..
-
GCC 동작 과정지식 조각들/컴퓨터 2018. 8. 13. 21:18
목차 서론 GCC란 GCC 동작 과정 서론 운영 체제의 컴파일러와 링커가 어떻게 동작하는지 학습한 후, 내가 사용하는 컴파일러인 GCC가 어떻게 동작하는지 궁금해졌다. 그래서 간단하게 GCC의 동작 과정을 알아보기로 결심했다. GCC 동작 과정은 [여기]와 [여기]를 보면서 공부했다. GCC란 GCC(GNU Compiler Collection)는 GNU 컴파일러 모음으로 GNU 프로젝트의 일환인 컴파일러이다. 원래는 GNU C Compiler의 약자였지만 C++, JAVA 등 여러 언어를 컴파일 할 수 있게 되면서 현재의 이름으로 바뀌게 되었다. GCC는 컴파일러 모음이기 때문에 단순히 컴파일 과정뿐만 아니라 전처리 과정, 어셈블 과정, 링킹 과정과 같이 실행 파일(binary file)을 만드는데 필요..