반응형
C 다중 매크로의 사전 프로세서 테스트 정의
제가 사이트를 검색했지만 제가 찾던 답을 찾지 못해서 여기에 정말 빠른 질문이 있습니다.
저는 그런 것을 하려고 노력하고 있습니다.
#ifdef _WIN32 || _WIN64
#include <conio.h>
#endif
제가 어떻게 그런 일을 할 수 있을까요?_WIN32가 32비트와 64비트 창 모두에 대해 정의되어 있다는 것을 알고 있기 때문에 창 감지에 대해서는 어느 쪽이든 괜찮습니다.저는 위와 같은 논리 연산자를 전처리기 지시어와 함께 사용할 수 있는지, 그리고 만약 그렇다면 어떻게 사용할 수 있는지에 더 관심이 있습니다. 왜냐하면 위는 작동하지 않기 때문입니다.
gcc로 컴파일하면 다음을 얻을 수 있습니다.
경고: #ifdef 지시어 끝에 추가 토큰이 있으며 기본적으로 첫 번째 MACRO만 가져가고 나머지는 무시합니다.
시도:
#if defined(_WIN32) || defined(_WIN64)
// do stuff
#endif
정의된 매크로는 이름이 정의되었는지 여부를 테스트하고 결과에 논리 연산자를 적용할 수 있도록 합니다.
사용해야 합니다.#if
및 특수 연산자
이런 식으로 가능해야 한다고 생각합니다.
#if defined block1 || defined block2 /*or any other boolean operator*/
/*Code*/
#endif
자세한 내용은 여기를 참조하십시오.
정의된 사용:
#if defined(A) || defined(B)
#include <whatever.h>
#endif
언급URL : https://stackoverflow.com/questions/965700/c-preprocessor-testing-definedness-of-multiple-macros
반응형
'source' 카테고리의 다른 글
앱 스토어 링크: "이 앱 등급/검토" (0) | 2023.06.10 |
---|---|
Oracle 12c에서 SQL 쿼리의 결과를 JSON으로 반환합니다. (0) | 2023.06.10 |
VBA를 사용하여 Excel 시트를 현재 디렉토리에 저장 (0) | 2023.06.10 |
이 식은 호출할 수 없습니다.'번호' 유형에 호출 서명이 없습니다. (0) | 2023.06.10 |
Firebase에서 노드를 삭제/제거하는 방법 (0) | 2023.06.10 |