Embedded/Linux Kernel
[Linux Kernel] 전처리 코드 생성 : 전체 전처리 파일 추출
다크엔지니어
2022. 1. 27. 23:01
반응형
리눅스 커널은 캡슐화나 다형성 등 객체지향 방식으로 구현이 된 소스들이 많다.
사실 필자는 객체지향 언어를 좋아하다 보니 오히려 편하다.
본론으로 돌아와 그래서 매크로로 구현된 코드가 많다.
이러한 매크로가 소스 분석의 걸림돌로 작용한다.
바로 전처리 코드는 이러한 매크로를 모두 풀어서 표현을 한다.
즉, 편하게 소스코드를 분석 할 수 있게 된다.
전처리 코드는 GCC 컴파일 오브젝트 생성 과정에서 추출된다.
커널에서 전처리 코드를 추출 하는 방법은 크게 두 가지 이다.
전체 전처리 파일 추출
특정 전처리 파일 추출
이 글에서는 전체 전처리 파일 추출하는 방법을 알아보도록 하자.
전체 전처리 파일 추출 방법
Makefile 에 '-save-temps=obj \' 구문 추가가 필요하다.
아래 500번 라인 아래에 위에 구문을 추가한 후 커널 빌드 후 설치를 진행하면 된다.
그렇게 되면 .c 파일들이 tmp_.i 인 전처리 파일로 생성 된 걸 확인 할 수 있다.
단점을 말하자면 그 만큼 메모리 용량을 많이 잡아먹게 된다.
반응형