기존소스에 #ifdef 가 너무 많아서 해독이 불가능한 수준인데 make 파일내에서 정의되지 않은 블럭을 자동으로 제거하여 #ifdef가 모두 제거되는 형태의 소스를 볼 수 있는 방법이 있는지 알고 싶습니다만..
gcc -E
compiler switch에 -E를 추가하셔서 컴파일하면 컴파일이 완료된 후에 .o 파일에 preprocessing 된 결과가 저장되며 이는 모든 #ifdef 뿐 아니라 macro도 확장된 형태입니다. 이 파일을 보시면 실제 컴파일되는 코드가 어떤 것인지를 정확하게 알 수 있습니다.
cpp filename.c -I/includedirs
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
gcc -E
gcc -E
compiler switch에 -E를 추가하셔서 컴파일하면 컴파일이 완료
compiler switch에 -E를 추가하셔서 컴파일하면 컴파일이 완료된 후에 .o 파일에 preprocessing 된 결과가 저장되며 이는 모든 #ifdef 뿐 아니라 macro도 확장된 형태입니다. 이 파일을 보시면 실제 컴파일되는 코드가 어떤 것인지를 정확하게 알 수 있습니다.
..
cpp filename.c -I/includedirs
댓글 달기