Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- prescaling
- Linked List
- vivado
- gpio
- D Flip Flop
- ring counter
- pwm
- DHT11
- Edge Detector
- behavioral modeling
- soc 설계
- structural modeling
- Algorithm
- Recursion
- i2c 통신
- Pspice
- verilog
- uart 통신
- BASYS3
- test bench
- LED
- half adder
- stop watch
- ATMEGA128A
- atmega 128a
- hc-sr04
- KEYPAD
- java
- FND
- dataflow modeling
Archives
- Today
- Total
거북이처럼 천천히
C 언어의 컴파일 과정 본문
1. C 언의 컴파일 과정은 크게 다음 그림과 같이 4단계를 거쳐 실행 파일 (execute file)로 생성하게 된다.
각 단계에 대해서 설명하면 다음과 같다.
- Preprocess : 본격적으로 Compile하기 앞서 처리해야 할 작업들
▶외부에서 선언된 다양한 소수 파일 및 함수, 라이브러리 들을 호출 및 포함 ( #include )
▶프로그래밍 과정에서 편의성을 위해 상수 및 메크로 함수 변환 ( #define )
▶컴파일 영역을 명시 ( #if, #ifdef ) - Compile : 고급 언어로 작성된 소스 코드를 컴퓨터가 이해할 수 있는 언어인 저급 언어(어셈블리 언어)로 변환
- Assembling : 컴파일러를 통해 어셈블리어로 작성된 어셈블리어 파일을 기계어로 작성된 오브젝트 파일로 변환
- Linking : 분할 컴파일 된 경우 오브젝트 파일만 가지고 실행할 수 없기 때문에 같은 프로젝트내에 다른 소스 코드의 오브젝트 파일들과의 Linking 작업을 통해 조합함으로서 최종적으로 우리가 실행할 수 있는 실행 파일이 생성되게 된다.
위 과정을 그림을 통해 다시 한 번 표현하면 다음과 같다.
'C' 카테고리의 다른 글
배열 포인터 (1) | 2024.06.19 |
---|---|
이중 포인터 (1) | 2024.06.19 |
Pointer arry (포인터 배열) (0) | 2024.06.18 |
Register variable (0) | 2024.06.18 |
Deque (0) | 2024.05.31 |