반응형
clang을 감지하는 데 사용할 수있는 사전 정의 된 매크로는 무엇입니까?
내 소스 코드를 컴파일하는 데 사용되는 컴파일러를 감지하려고합니다. MSVC 또는 GCC ( 예 : http://predef.sourceforge.net/ 참조)를 확인하기 위해 미리 정의 된 매크로를 쉽게 찾을 수 있지만 clang을 확인할 매크로를 찾을 수 없습니다.
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 tip' 카테고리의 다른 글
Axios는 응답 헤더 필드에 액세스합니다 (0) | 2020.08.07 |
---|---|
jQuery를 사용하여 파일 다운로드 (0) | 2020.08.07 |
SQL UPDATE SET 한 열이 다른 열에서 참조하는 관련 테이블의 값과 같도록 설정합니까? (0) | 2020.08.07 |
표준 MIME 유형 상수를 나열하는 인터페이스 / 열거 형 (0) | 2020.08.07 |
풀 요청에서 GitHub 복제? (0) | 2020.08.07 |