나는 조건부 컴파일 해요 :내가 컴파일중인 MacOS 버전을 어떻게 확인할 수 있습니까?
#ifdef WIN32
myVal = "Windows";
#elif __APPLE__
myVal = "Apple";
#endif
나는 다른 버전 (10.4,10.5,10.6 등)에 대해 테스트 할 __APPLE__
블록 내에서 테스트 할 수 있습니다 값이 있습니까?
나는 조건부 컴파일 해요 :내가 컴파일중인 MacOS 버전을 어떻게 확인할 수 있습니까?
#ifdef WIN32
myVal = "Windows";
#elif __APPLE__
myVal = "Apple";
#endif
나는 다른 버전 (10.4,10.5,10.6 등)에 대해 테스트 할 __APPLE__
블록 내에서 테스트 할 수 있습니다 값이 있습니까?
컴파일러의 환경을 확인하려는 경우 uname -v
을 시도하십시오.
특히, 나는 당신이 uname -v | sed 's/Darwin Kernel Version \([^ ]*\):.*/\1/'
할 수 있다고 생각합니다. "10.5".
/usr/include/AvailabilityMacros.h
매크로를 사용해야합니다. 토론을 위해 TN2064과이 파일의 헤더 주석을 참조하십시오.
이것은 내가 원하는 것 같지 않습니다. 개발자가 설정 한 설정입니다. 실행중인 컴퓨터의 OS를 알고 싶습니다. – fredley
하지만 @Tom, 당신의 질문은 당신의 컴파일러가 돌아가고있는 머신의 OS를 탐지하는 것을 보여줍니다. 컴파일 타임 매크로를 확인하고 있습니다. 런타임 OS 버전을 원하면 런타임에 평가할 코드를 작성해야하므로'# ifdef'는 테이블에서 완전히 벗어납니다. 그럼, 질문을 명확히하시기 바랍니다 : 당신은 컴파일러의 환경이나 프로그램을 확인 하시겠습니까? –
컴파일러, 혼란을 가져 주어서 죄송합니다. – fredley