본문 바로가기
Software/C

[C 언어] 1. Introduction

by 리미와감자 2024. 8. 31.
728x90
반응형

1. Introduction

 

C 언어

 

 

 

  • 유닉스 OS에 사용하기 위해 켄 톰슨이 만든 B 언어를 데니스 리치가 발전시켜 만든 언어이다.
  • 초기 유닉스는 대부분 어셈블리어로 작성되어 컴퓨터의 하드웨어가 바뀌면 다시 개발해야 하는 문제가 있었다.
  • 어셈블리어로 매번 다시 개발하는 일을 없애고자, 전 단계에서 사용할 공통된 언어인 C를 개발했다.
  • 주로 하드웨어를 제어하는 SW로 많이 사용된다.

 

 

C 언어 컴파일 과정

 

  • 소스 코드를 기계어로 바꾸는 과정으로 전처리, 컴파일, 어셈블, 링크 4단계로 이루어진다.
  • 전처리, 컴파일, 어셈블 3단계를 모두 포함해서 컴파일이라고도 한다.
  • 3단계를 포함한 컴파일과 링크를 포함해서 빌드라고 한다. 빌드는 소스 코드를 실행할 수 있는 소프트웨어
    로 가공하는 것을 의미한다.
  • 전처리(Pre-process)
    • 컴파일 전 작업 수행. 전처리 지시자 처리.
    • 외부에 선언된 소스 코드 및 라이브러리 포함 ex) #include
    • 매크로 변환 ex) #define
    • 컴파일 영역 명시 ex) #if, #ifdef, …
  • 컴파일(Compile)
    • 전처리가 완료된 소스 코드를 어셈블리어로 변환
    • 메모리 할당
  • 어셈블(Assemble)
    • 어셈블리어를 기계어(OS마다 다름)로 변환
    • Object 파일 생성
  • 링크(Link)
    • 여러 Object 파일 연결
    • 실행 파일 생성
728x90
반응형

'Software > C' 카테고리의 다른 글

[C 언어] 3. Memory Structure(메모리 구조)  (0) 2024.09.01
[C 언어] 2. Pre-process(전처리)  (0) 2024.09.01

댓글