| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- Bash
- 티스토리챌린지
- IOT
- data structure
- 군산가볼만한곳
- git
- Dithering
- 임베디드레시피
- tkinter
- 디더링
- Clock Domain Crossing
- Dither
- 임베디드시스템
- ADsP
- SVA
- CDC
- BeautifulSoup4
- openpyxl
- systemverilog assertions
- 아두이노
- c++ 기초
- STM32
- arduino
- 인덕터
- 오블완
- Metastability
- SystemVerilog
- assertion
- 파이참
- 자료구조
Archives
- Today
- Total
리미창고
[C 언어] 1. Introduction 본문
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 파일 연결
- 실행 파일 생성
'Programming > C' 카테고리의 다른 글
| [C 언어] 3. Memory Structure(메모리 구조) (0) | 2024.09.01 |
|---|---|
| [C 언어] 2. Pre-process(전처리) (0) | 2024.09.01 |