c 프로그래밍 에서 기본적인 과정은 자신이 만든 소스 코드 파일을 즉시 실행할수 있는 기계어 코드로 된 파일인 실행 파일로

변형시캬주는 프로그램을 사용하는 것이다 이 과정은 다음과 같은 두 단계를 거쳐서 이루어 진다.

컴파일러는 소스코드를 중간 단계의 코드로 변환시킬=고 링커는 실행파일을 만드는 다른 코드[목적코드]를 결합해 주는 역할을 한다.

c는 프로그램의 모듈화가 가능하도록 이와같은 두 가지 접근방법을 사용한다.

c는 각각의 모듈을 따로 컴파일 한후 나중에 이들 모듈을 합칠수 있다. 결국 하나의 모듈만 변경한 경우에는 다른 모듈들을 다시 컴파

일할 필요가 없다.

중단단계 파일의 형태에는 몇 가지가 있다. 가장널리 쓰이는 방식은 소스 코드를 오브젝트 코드 파일 이라 불리는 기계어로 바꾸는

것이다 비록 오브젝트 파일이 기계어 코드를 포함하고 있지만 실행 시킬준비는 아직 되지 않았다. 오브 젝트 파일이란 기계어 코드를

포함하고 있을 따른이지 완전한 프로그램이 아니기 때문이다.

오브젝트 파일이 가지고 있지 않은 첫번째 요소가 스타트 업 코드다,. 이 코드는 프로그램과 운영 체제를 연결하는 기능을 수행한다.

예를들면 도스나 xenix또는 다양한 종류의 유닉스 환경에서 ibm at 호환 기종을 운영할수 있다.

어떤경우에도 똑같은 하드웨어에서 실행시키므로 똑같은 오브젝트 코드는 똑같은 작용을 한다. 하지만 도스와 xenix는 서로 다른

스타트 업 코드를 필요로 한다. 두 시스템의 운영프로그램은 서로 다른 작용을 하기 때문이다.

두번째로 부족한 코드 요소는 라이브러리 루틴에 대한 코드다 거의 모든 c 프로그램은 표준 c 라이브러리 부틴에 대한 코드다'.

거의 모든 c 프로그램은 표쥰  c 라이브러리의 일부분인 루틴들[풩션-함수있잖수]을 사용한다 예를 들면 concrete.c 는 함수 printf()를

사용한다 목적코드 파일은 이 함수에 대한 코드를 갖고있지 않으며 printf() 함수를 사용하라고 지시하는 명령어만 가지고 있을 뿐이다.

실제의 코드는 라이브러리 라 불리는 다른 파일에 저장되어 있다,. 라이브러리 파일은 많은 함수에 대한 오브젝트 코드를 포함하고 있

다.

링커의 역할은 이러한 요소를 묶어서 하나의 파일 즉 exe[공포의 대상이라 불리는 -ㅅ-]로 컴파일 해준다.

또 참신한 그림을 그리겠다 -ㅅ-

제목 없음.GIF

난 왜이리 그림판이 익숙치 않을까 ㄷㄷ...

profile

User Delphi Project 의 마스터입니다!

(프로필 사진을 추가해보세요 ㅇㅅㅇ) /