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 |
댓글