
소스 파일(*.c)
소스 파일은 프로그래머가 만들고 싶은 프로그램을 직접 작성한 파일을 말합니다. 파일 확장자는 .c를 사용하는데, 반드시 지켜야하는 것은 아니지만 c언어 소스 파일을 구별하기 위해 왠만하면 지켜주는 것이 좋습니다.
개발자는 보통 소스 파일까지만 작성하고, 그 이후는 개발 도구가 알아서 처리합니다. 만일 실행 파일로 번역하는 과정에서 오류가 발견되면 오류 메시지를 출력하고 목적 파일이 만들어지지 않습니다.
※ 여러가지 확장자
C | C++ | C# | Java |
.c | .cpp | .cs | .java |
목적 파일(*.obj)
목적 파일은 컴파일러가 소스 파일을 번역하면 만들어지는 파일입니다.
실행 파일(*.exe)
실행 파일은 컴퓨터에서 바로 실행할 수 있는 파일을 말합니다. 하나 이상의 목적 파일을 링크하여 만듭니다. 실행 파일의 확장자는 운영체제마다 다릅니다.
목적 파일이 존재하는 이유
번거롭게시리 소스 파일에서 목적 파일을 만들었다가 목적 파일에서 실행 파일을 만드는 이유는 무엇일까요? 바로 실행 파일을 만드는 시간을 줄여주기 때문입니다.
개발자들은 실행 파일 하나를 만들기 위해 소스 파일을 여러 개로 나누어 작업합니다. 만일 모든 작업을 소스 파일 1개에 몰아서 처리한다고 가정해봅시다. 그렇게 된다면 소스 파일의 일부만 바뀌어도 소스 파일 전체를 다시 컴파일해야 하는 상황이 발생하게 됩니다. 이런 불상사를 막기 위해 비슷한 작업 단위별로 소스 파일을 여러개로 나누어 작업하는 것이죠.
목적 파일은 각 소스 파일마다 1개씩, 같은 개수만큼 생성됩니다. 개발자가 소스 파일1, 소스 파일2, 소스 파일3을 만들었다면 각 소스 파일들은 컴파일되어 목적 파일1, 목적 파일2, 목적 파일3을 생성할 것입니다. 이 세 가지 목적 파일들이 링크되면 실행 파일 1개가 탄생하게 되는 것입니다.
만일 개발자가 소스 파일2의 내용을 살짝 수정하게 된다면 어떻게 될까요? 수정된 소스 파일2는 다시 컴파일하여 새로운 목적 파일2를 만들어야할 것입니다. 하지만 소스 파일1과 소스 파일3을 변경 사항이 없기 때문에 목적 파일1과 목적 파일2는 다시 만들 필요가 없는 것이죠. 따라서 목적 파일1과 목적 파일2는 기존에 있던 것을 가져와 쓰고, 목적 파일2만 새롭게 가져와 링크하면 손쉽게 실행 파일을 다시 만들 수 있습니다.
'Language > C 및 C++' 카테고리의 다른 글
C언어 조건부 컴파일 (0) | 2021.09.19 |
---|---|
C언어 자료형 (0) | 2021.09.02 |
C언어의 서술 형식 (0) | 2021.09.02 |
C언어 배열과 문자열 (0) | 2021.09.02 |
C언어 소개 (0) | 2021.09.01 |

소스 파일(*.c)
소스 파일은 프로그래머가 만들고 싶은 프로그램을 직접 작성한 파일을 말합니다. 파일 확장자는 .c를 사용하는데, 반드시 지켜야하는 것은 아니지만 c언어 소스 파일을 구별하기 위해 왠만하면 지켜주는 것이 좋습니다.
개발자는 보통 소스 파일까지만 작성하고, 그 이후는 개발 도구가 알아서 처리합니다. 만일 실행 파일로 번역하는 과정에서 오류가 발견되면 오류 메시지를 출력하고 목적 파일이 만들어지지 않습니다.
※ 여러가지 확장자
C | C++ | C# | Java |
.c | .cpp | .cs | .java |
목적 파일(*.obj)
목적 파일은 컴파일러가 소스 파일을 번역하면 만들어지는 파일입니다.
실행 파일(*.exe)
실행 파일은 컴퓨터에서 바로 실행할 수 있는 파일을 말합니다. 하나 이상의 목적 파일을 링크하여 만듭니다. 실행 파일의 확장자는 운영체제마다 다릅니다.
목적 파일이 존재하는 이유
번거롭게시리 소스 파일에서 목적 파일을 만들었다가 목적 파일에서 실행 파일을 만드는 이유는 무엇일까요? 바로 실행 파일을 만드는 시간을 줄여주기 때문입니다.
개발자들은 실행 파일 하나를 만들기 위해 소스 파일을 여러 개로 나누어 작업합니다. 만일 모든 작업을 소스 파일 1개에 몰아서 처리한다고 가정해봅시다. 그렇게 된다면 소스 파일의 일부만 바뀌어도 소스 파일 전체를 다시 컴파일해야 하는 상황이 발생하게 됩니다. 이런 불상사를 막기 위해 비슷한 작업 단위별로 소스 파일을 여러개로 나누어 작업하는 것이죠.
목적 파일은 각 소스 파일마다 1개씩, 같은 개수만큼 생성됩니다. 개발자가 소스 파일1, 소스 파일2, 소스 파일3을 만들었다면 각 소스 파일들은 컴파일되어 목적 파일1, 목적 파일2, 목적 파일3을 생성할 것입니다. 이 세 가지 목적 파일들이 링크되면 실행 파일 1개가 탄생하게 되는 것입니다.
만일 개발자가 소스 파일2의 내용을 살짝 수정하게 된다면 어떻게 될까요? 수정된 소스 파일2는 다시 컴파일하여 새로운 목적 파일2를 만들어야할 것입니다. 하지만 소스 파일1과 소스 파일3을 변경 사항이 없기 때문에 목적 파일1과 목적 파일2는 다시 만들 필요가 없는 것이죠. 따라서 목적 파일1과 목적 파일2는 기존에 있던 것을 가져와 쓰고, 목적 파일2만 새롭게 가져와 링크하면 손쉽게 실행 파일을 다시 만들 수 있습니다.
'Language > C 및 C++' 카테고리의 다른 글
C언어 조건부 컴파일 (0) | 2021.09.19 |
---|---|
C언어 자료형 (0) | 2021.09.02 |
C언어의 서술 형식 (0) | 2021.09.02 |
C언어 배열과 문자열 (0) | 2021.09.02 |
C언어 소개 (0) | 2021.09.01 |