#ifdef를 제거한 코드를 보고 싶습니다.

macmac83638의 이미지

기존소스에 #ifdef 가 너무 많아서 해독이 불가능한 수준인데
make 파일내에서 정의되지 않은 블럭을 자동으로 제거하여
#ifdef가 모두 제거되는 형태의 소스를 볼 수 있는 방법이 있는지
알고 싶습니다만..

mtorange의 이미지

gcc -E

sykwon66의 이미지

compiler switch에 -E를 추가하셔서 컴파일하면 컴파일이 완료된 후에 .o 파일에 preprocessing 된 결과가 저장되며 이는 모든 #ifdef 뿐 아니라 macro도 확장된 형태입니다. 이 파일을 보시면 실제 컴파일되는 코드가 어떤 것인지를 정확하게 알 수 있습니다.

anfl의 이미지

cpp filename.c -I/includedirs