반응형
클랭을 감지하는 데 사용할 수 있는 미리 정의된 매크로
내 소스 코드를 컴파일하는 데 사용되는 컴파일러를 탐지하려고 해.MSVC나 GCC를 확인할 사전 정의된 매크로를 쉽게 찾을 수 있지만(예: http://predef.sourceforge.net/ 참조), clang을 확인할 매크로를 찾을 수 없다.
땡땡이가 매크로를 정의하는지 아십니까?__CLANG__
현재 내 코드를 컴파일하고 있는 것이 무엇인지 알기 위해서?
컴파일러에서 사용하는 모든 미리 정의된 매크로 목록을 가져오려면 다음을 사용하십시오.
clang -dM -E -x c /dev/null
gcc도 똑같이 할 수 있다.
다음과 같은 방법으로 답을 찾았다.strings
+grep
:
$ strings /usr/bin/clang | grep __ | grep -i clang
__clang__
이 질문은 수년 동안 답변되어 왔으나 Windows에서 어떻게 수행되는지 (나중에 참조할 수 있도록) 추가하겠다.
echo | clang -dM -E -
GCC와 동일:
echo | gcc -dM -E -
참고:마지막 대시-
사실 중요한 거야! (그렇지 않으면 넌 알게 될 거야.error: no input files
두 컴파일러 모두에 대해)
참조URL: https://stackoverflow.com/questions/2658461/what-predefined-macro-can-i-use-to-detect-clang
반응형
'programing' 카테고리의 다른 글
vuejs에서 기본 페이지 지정을 편집하시겠습니까? (0) | 2022.05.04 |
---|---|
모든 구성 요소에서 변수를 사용할 수 있도록 하는 Vue (0) | 2022.05.04 |
Vuejs 헤더에서 토큰 가져오기 (0) | 2022.05.04 |
Vue는 두 프로젝트 간에 구성 요소 및 자산 공유 (0) | 2022.05.03 |
Vuex의 nuxt 구성을 내부 작업으로 가져오는 방법 (0) | 2022.05.03 |