본문 바로가기
Computer & Program/잡다한 이모저모

[C/C++]컴파일 & 링크

by TDRemon 2009. 7. 22.
반응형
우리는 흔히 '프로그램을 컴파일 한다.'라고 말을 하지만 정작 그 의미를 정확히 알고 있는 사람은 그렇게 많지는 않은 것 같다. 그래서 컴파일 & 링크에 대해 간단히 쓰자면... 우선 아래의 그림을 보자.


▶ 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

댓글