본문 바로가기
호기심_메모

C 프로그램이 만들어지는 과정

by 겸손하게 빚진자로, 밝게 인사 2015. 3. 19.
728x90

   

  • 소스 코드 생성
    인간이 이해할 수 있는 언어로 프로그램을 작성한다. 이것을 소스코드라고 하는데, 여기에는 컴퓨터에게 내릴 명령들이 포함되어 있다. 소스코드는 인간이 쉽게 이해할 수 있지만, 컴퓨터는 이해할 수 없기 때문에 컴퓨터가 이해할 수 있도록 번역하는 과정이 필요하다.

       

  • Pre processor
    컴파일러를 실행시키면 가장 먼저 pre compile를 수행한다. 프로그래머가 생성한 소스코드는 인간이 보다 쉽게 읽을 수 있도록 하기 위해서 include나 매크로등을 이용해서 코드가 축약되어 있다. pre compile는 축약된 내용을 컴파일러가 쉽게 해석할 수 있도록 풀어쓰는 과정이다.

       

  • Assembly 코드의 생성
    이제 풀어쓴 코드를 가장 원시적인 언어의 형태인 Assembly(:12)코드로 만들어준다. 어셈블리코드는 기계어와 1:1로 대응되기 때문에 일단 어셈블리코드로 성공적으로 만들어낸다면 쉽게 기계어형태로 변환할 수 있다.

       

  • Object 파일의 생성
    Assembly 코드가 만들어졌다면, 이제 이걸 기계어로 변환한다. 이렇게 해서 만들어진 파일을 object파일이라고 한다.

       

  • linker
    그러나 object파일이 생겼다고 바로 실행될 수 있는게 아니다. 프로그램으로써 실행하기 위해서는 운영체제가 제공하는 다른 여러가지 객체(기능)들과 연결(link)되어야 한다. link과정을 거치면 비로서 실행가능한 완전한 프로그램이 만들어지게 된다.

       

       

       

    원본출처 :http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/CprogramingForLinuxEnv/Ch3_StartC

       

반응형

'호기심_메모' 카테고리의 다른 글

메모리DB  (0) 2015.03.20
SOAP  (0) 2015.03.20
chal2(1)  (0) 2015.03.19
아키텍처 : 구간암호화  (0) 2015.03.19
Find 명령어  (0) 2015.03.11