완전 초짜 질문 선행 처리기에 관한 질문

killerwizard의 이미지

좀 창피하지만 질문좀 드리겠습니다.
선행 처리기에 질문좀 드리겠습니다.
특별한 아래와 매크로를 설정해 특별한 경우에만 컴파일하는 것은 이해하겠습니다.

#ifdef 매크로명
   /* A부분 */
   .
   .
#else
   /* B부분 */
   .
   .
#endif

그런데 제가 현재 처해 있는 상황은 Device에 관한 define을 하고 있는데 같은 이름의 레지스터가 있다는 거죠.

A Device REG_OFFSET
B Device REG_OFFSET

이름은 같은데 값은 다르죠...
현재는 각각을 이름을 달리하여 사용하고 있습니다.
A Device REG_OFFSET_A
B Device REG_OFFSET_B

물론 이와 같이 사용하면 되긴 하지만 다른 방법이 없을 까요?
같은 이름을 가지지만 값만 다르게 할 수 있는 ...

///장비 A면 
REG_OFFSET 0x00

// 장비 B면
REG_OFFSET 0x04

창피하지만 하나 알면 기분이 좋아집니다..
답변좀 해주세요.

익명 사용자의 이미지

간단하게 ...

#define DEVICE_A

#ifdef DEVICE_A
#define REG_OFFSET 0x00
#else
#define REG_OFFSET 0x04
#endif