GCC/Clang: 사용 가능한 ObjC 런타임

GCC/Clang: 사용 가능한 ObjC 런타임

얼마 전 저는 Objective-C용 ObjFW 런타임을 발견했습니다. 이 런타임은 매우 깔끔하고 많은 일을 수행하지만 매우 작습니다. 하지만 최근에는 어떤 대상에서 어떤 런타임을 사용할 수 있는지, 그리고 어떻게 가장 잘 알 수 있는지 묻게 되었습니다. 현재 clang 또는 gcc 설치와 함께 현재 플랫폼에서 ObjFW를 사용할 수 있는지 테스트하기 위해 구성에 작은 스크립트를 사용하고 싶습니다.

그렇다면 GCC나 Clang에서 사용 가능한 Objective-C 런타임을 나열하는 방법이 있습니까?

답변1

4.0부터 시작하는 모든 GCC 버전과 기본적으로 모든 Clang 버전은 적어도 부분적으로 ObjFW 런타임을 지원합니다. 이는 ObjFW 런타임이 GNU ABI를 사용하지만 그 위에 더 많은 것을 추가하기 때문입니다. 위에 추가된 것을 사용하려면 -fobjc-runtime=objfw를 허용하는 Clang 버전이 필요합니다. 가능한 확인은 ObjFW에 포함된configure.ac를 참조하세요.

이 모든 것은 ObjFW의 나머지 부분 없이 런타임을 사용할 계획인 경우에만 관련이 있습니다. 나머지도 사용하려면 objfw-config를 사용하세요. oyu에 적합한 작업을 수행합니다.

답변2

귀하의 질문에 대한 완전한 답변은 아니지만clang 문서에서사용 가능한 런타임 목록: macosx, macosx-fragile, ios, watchos, gcc, gnustep 및 objfw.

내 생각에는 gnustep, gcc 및 objfw는 모든 대상에 적합하고 나머지는 OS X, iOS 및 Watch OS에만 적합합니다(이 런타임은 OS별로 다르지만 이것은 단지 내 제안일 뿐입니다).

관련 정보