안녕하세요. 리눅스에 입문한지 얼마안된 초보입니다. 궁금한게 있는데여. gcc로 컴파일할때 -c옵션을 주면 오브젝트 파일을 만든다고하는데 오브젝트파일 이란것이 무엇인지여? $ gcc -c hello.c -> 오브젝트 파일생성 그리고 생성한 오브젝트 파일로 -o 옵션을 줘서 링크를 시켜서 실행 파일을 만든다고 하는데여.. 여기서 링크는 어떤 작업인지 궁금합니다. $ gcc -o hello hello.o ->링크 / 실행파일 생성
오브젝트 파일(.o)은 소스를 기계어로 번역한 중간 결과로, 아직 다른 함수와 연결되지 않아 실행할 수 없습니다. 링크는 여러 오브젝트 파일과 라이브러리(printf 같은 함수)를 하나로 묶어 실행 파일을 만드는 작업입니다.