Cocoa 및 Objective C 사용을 원하지 않는 프로젝트에서 작업 중입니다.목표 C 화면 크기에 액세스하는 런타임
나는 다른 날 Objective C 런타임 라이브러리를 우연히 발견하고 화면 크기에 액세스하려고했습니다. 코코아는 옵션을 선택하지 않습니다 및 탄소 정말 더 이상 지원되지 않는 사용
auto screen = objc_msgSend(objc_lookUpClass("NSScreen"),sel_getUid("mainScreen")); //Returns an NSScreen*
auto frame = objc_msgSend(screen, sel_getUid("frame")); // should return an NSRect but I get an EXC_BAD_ACCESS and the program quits
:
이
내가 현재 가지고있는 코드입니다. 누군가가 Objc 런타임에 익숙하고이 문제를 해결할 수 있기를 바랍니다.
나는 당신의 문제에 관해 당신을 도울 수는 없지만 왜 나는 코코아를 피하고 싶어하는지 궁금 할 것입니다. 이 정보를 공개 할 수 있습니까? – JiaYow
@awesomeyi 나는 그들이 똑같지 않다는 것을 충분히 알고 있습니다. objc 런타임 API를 사용하면 객관적인 C 코드를 사용하지 않고도 코코아 라이브러리를 사용할 수 있습니다. –
@JiaYow Windows, Mac 및 Linux 용 경량의 크로스 플랫폼 윈도우 시스템을 만들고자합니다. 크로스 플랫폼으로 만들기 위해이 라이브러리를 C++로 만들고 있습니다. 나는 그것을 엄격하게 C++이 아닌 크로스 플랫폼으로 만들 수 없다. Objective-C++는 크로스 플랫폼을 컴파일하지 않습니다. –