내 질문은 this one 또는 this one과 비슷하지만 실제로는 동일하지 않으며 두 번째 대답은 받아 들여지지 않았 음을 알고, 전처리 지시문을 추가하는 것이 올바른지 묻기로했습니다. 함수와 비슷한 매크로가 호출됩니까? 다른 매크로가 정의되어있는 경우 어딘가에 특정 차이를 호출 코드에서함수와 같은 매크로에 전 처리기 지시문을 추가하는 것은 잘못 되었습니까?
#define FUNC_MACRO(a, b) // do something with the variables
과 : I가 시험
// ...
FUNC_MACRO(aVal
#ifdef ANOTHER_MACRO
+ offset
#endif // ANOTHER_MACRO
, bVal);
// ...
내 경우
나는 함수 같은 매크로를 내 컴퓨터 (리눅스, gcc 4.8)와 괜찮 았던가 (전처리 지시어의 유무에 상관없이 ANOTHER_MACRO가 정의 된 경우와없는 경우), 그렇게하는 것이 안전 할까?
첫 번째 비슷한 질문의 답에서 16.3/9 단락을 읽었지 만 내 경우에도 마찬가지입니까?
_ "그렇지만 그렇게하는 것이 안전할까요?"_ 정의 _ 안전 _하십시오. –
이 C 또는 C++입니까?C++에는 더 나은 대안이 있습니다. – Bathsheba
괜찮지 만 다른 매크로 관련 내용은 상당히 잘못 될 수 있습니다. C++을 사용한다면이 문제에서 벗어나십시오. – DeiDei