내가 번역 파일을 말해봐 FEATURE
이 정의에 TARGET
는 정의보관할 전처리 출력에 문을 포함
// File options.h
#ifdef TARGET_A
#define FEATURE_X
#endif
#ifdef TARGET_B
#define FEATURE_Y
#endif
struct foo {
int a;
int b;
};
을 내가 FEATURE
와 ifdef
'에드는 정의 파일의 무리가 있습니다
// File foo.c
#include "options.h"
#ifdef FEATURE_X
int x;
#endif
#ifdef FEATURE_Y
int y;
#endif
그렇다면 어떻게하면 foo.c
을 사전 처리하여 include 문을 처리하지만 파일에 보관할 수 있습니까? 같은
뭔가 :
$ some-pre-process-tool -DTARGET_A -I. -o foo.pp.c foo.c
$ cat foo.pp.c
// File foo.c
#include "options.h"
int x;
$
당신이 할 수있는 아마도 (coan) (http://coan2.sourceforge.net/)을 사용하여 (아마도 쉽게는 아니지만) 필요한 것을 얻을 수있을 것입니다. 행운을 빕니다. – rici
해결책을 찾기 위해 인터넷 검색을 할 때 그걸 보았습니다. 그러나이 목적을 위해서는 너무 큰 노력처럼 보였습니다. 당신은 이것을 사용하고/알고 있습니까? 그리고 이런 종류의 것들에 좋은가요? 내가 궁금해하는 임의의 공백을 제거하는 해결책으로 인해 묻고있다. – Allan
나는 coan을 사용했고 해결하기 위해 착수 한 문제를 해결했다. 나는 당신의 문제를 해결하는 것이 얼마나 쉬운 지 모르겠다. 나는 두 단계가 필요하다고 생각한다. 먼저 두 가지 단계가 필요하다. 대상 선택에서 어떤 결과가 나오는지 먼저 확인한다. 관련 기능 매크로를 이름으로 식별하는 방법) coan을 사용하여 해당 매크로 만 선택적으로 처리 할 수 있습니다. – rici