GCC의 구조
2017. 7. 6. 16:21
GCC의 구조
1. GCC의 역사
- Ultra sparc machine
- 처음에는 크로스컴파일용이 아니였음.
2. GCC의 구조
일반 커파일러 구조
Lexical Analyzer - Toenizer - Parse - Linker
- Linker : obj 파일들을 연결함
- obj : 변수로 선언했던 부분이 아직 변수로 남아 있음
Linking 이 끝나야 메모리 값이 변수값에 대칭됨
4 stage
1 stage : pure C compiler -> 변수이름이 주소로 나옴 ( 주소가 나오는 실행형식이 없는 a.out 포멧 실행 파일, 동적 할당 라이브러리 사용 불가 )
2 stage : pure C Compiler + Standard I/O (Kernel 헤더정보 : 실행형식, 메모리 번지수, 스레드 등... 커널에서 지정한 표준을 이용해서 컴파일)
3 stage : Static C Compiler + glibc ( Standard C Library )
4 stage : Final Stage + Link available ( 동적할당 가능 )
// 하드웨어에 내장되어 있는 악성코드를 찾으려면 크로스 컴파일에 빠삭해야된다는 멘토님의 말씀,,,
'Codes > C' 카테고리의 다른 글
return과 exit()의 차이 (0) | 2017.08.28 |
---|---|
pcap (0) | 2017.07.13 |
zlib 분석 (0) | 2017.07.08 |
sql에서 NULL 비교 (0) | 2017.03.31 |
[C] perror() 함수 (5) | 2016.09.11 |