2011-11-26 4 views
0

포함/정의 된 모든 헤더 파일을 루프 처리하는 방법이 있습니까? #undef 모두 처리 할 수 ​​있습니까?C 전처리 기의 루프 스루 헤더

루프가 문제가되는 경우 #undef 다른 방법으로 쉽게 사용할 수 있습니까?

의 gcc -E -dM -c 당신은 다음을 사용할 수 있습니다

foo.c를 :

+0

당신이 헤더 가드 undef''#을 의미? – PeterT

+0

나는 – tekknolagi

+0

으로 정의 된 모든 것을 정의하지 못한다는 것을 의미한다. 그렇다면 그렇다 : P – tekknolagi

답변

2

GNU의 CPP는 모든 정의를 나열 할 수 있습니다, 정확하게 할 수있는 -dM 지침을 제공합니다 명령 줄에서 undef에 sed 스크립트를 입력하십시오 :)

gcc -E -c foo.c | 나오지도하지 헤더 바로 자신을

을의/#은// #의 미확정를 정의 '또는 무엇이든을 ...

는 재미 :)

+0

이 프로그램 내부에서 이것을 할 수있는 방법이 있을까? – tekknolagi

+0

글쎄 컴파일 시간에 문제가 없으니 ... .h 파일을 만드세요 :) 프로그램과 voila에 넣으십시오. –

+1

부적절합니다 :) 감사합니다! 프로그래머의 악의적 인 공격에 대한 http://bernsteinbear.com을보고 (XKCD 공격에 대한 패러디) 상위 게시판과 Python 게시판을 참조하십시오. – tekknolagi