컴파일 과정 1. 전처리 if, #define, #include 를 처리 .c -> .i 2. 컴파일 .i->.s 3. 어셈블 .s->.o 오브젝트 파일(기계어 파일) 생성 4. 링킹 .o->.out 라이브러리 함수와 오브젝트를 연결 4.1 동적 라이브러리 컴파일 시 라이브러리를 포함하지 않음 실행시 라이브러리를 로드해 메모리에 띄어두기에 다른 실행파일이 같은 라이브러리 사용시 메모리 이점이 있음 실행시 환경에 해당 라이브러리가 없다면 오류 발생 4.2 정적 라이브러리 컴파일시 라이브러리를 포함해 실행파일 생성 파일의 크기가 커짐 실행시 환경에 해당 라이브러리가 없어도 실행 가능