반응형
우리는 흔히 '프로그램을 컴파일 한다.'라고 말을 하지만 정작 그 의미를 정확히 알고 있는 사람은 그렇게 많지는 않은 것 같다. 그래서 컴파일 & 링크에 대해 간단히 쓰자면... 우선 아래의 그림을 보자.
▶ Souuce File
- *.cpp or *.c 등의 소스 파일 들. 위에 그림에는 생략됐지만 *.h 파일등도 섞여 있다.
▶ Preprocessor
- 컴파일 정의 준비 처리로서, 다음 처리를 한다. 하는 일은 코멘트 삭제, 파일의 인클루드, 인라인의 전개이다.
▶ Compiler
- 소스 파일이나 페더 파일에 코딩된 C/C++ 코드를 컴퓨터의 언어(기계어)로 번역(컴파일)한다.
▶ Object Files
- *.obj, *.o등의 컴파일러에 의해, 기계어로 번역된 상태의 프로그램 소스
▶ Linker
- 오브젝트(개체) 파일이나 라이브러리 파일을 결합(link)하여 1개의 실행 파일을 만든다.
▶ Library Files
- 기계어로 작성된 함수나 데이터의 집합이다. 표준 라이브러리 함수의 실제 모양도 라이브러리 파일안에 있다.
이상이 간단한 컴파일부터 링크까지의 과정이다. 즉, 우리가 흔히 말하는 컴파일을 한다고 하는 말은 링크까지 다 하는 빌드(build) 또는 메이크(make) 과정을 말하는 것이다.
▶ Souuce File
- *.cpp or *.c 등의 소스 파일 들. 위에 그림에는 생략됐지만 *.h 파일등도 섞여 있다.
▶ Preprocessor
- 컴파일 정의 준비 처리로서, 다음 처리를 한다. 하는 일은 코멘트 삭제, 파일의 인클루드, 인라인의 전개이다.
▶ Compiler
- 소스 파일이나 페더 파일에 코딩된 C/C++ 코드를 컴퓨터의 언어(기계어)로 번역(컴파일)한다.
▶ Object Files
- *.obj, *.o등의 컴파일러에 의해, 기계어로 번역된 상태의 프로그램 소스
▶ Linker
- 오브젝트(개체) 파일이나 라이브러리 파일을 결합(link)하여 1개의 실행 파일을 만든다.
▶ Library Files
- 기계어로 작성된 함수나 데이터의 집합이다. 표준 라이브러리 함수의 실제 모양도 라이브러리 파일안에 있다.
이상이 간단한 컴파일부터 링크까지의 과정이다. 즉, 우리가 흔히 말하는 컴파일을 한다고 하는 말은 링크까지 다 하는 빌드(build) 또는 메이크(make) 과정을 말하는 것이다.
반응형
'Computer & Program > 잡다한 이모저모' 카테고리의 다른 글
[Linux]디렉토리 구조 (2) | 2009.07.27 |
---|---|
[Linux]리눅스의 특징 (0) | 2009.07.23 |
[C++]inline Function (0) | 2009.07.22 |
[C++]Function Template (1) | 2009.07.18 |
[C++]cin의 함정 피하기 (0) | 2009.07.18 |
댓글