문제

나는 목표 C를 배우고 있으며 내 친구는 MAC 시스템 7 (특히 68K 프로세서와 함께 7.5.5)을 사용하는 실제 Macintosh IICI를 가지고 있으며 Metrowerks C/C ++ IDE를 설치했습니다 (버전 1이라고 생각합니다. 그러나 나는 알지 못한다) 그러나 나는 그것을 테스트하지 않았다. 그러면 나는 한 가지 알고 싶다 : nsobjects/객체, appkit 또는 이와 같은 것을 사용하여 Objective-C에서 개발할 수 있습니까? 감사.

도움이 되었습니까?

해결책

Stephen이 말했듯이 짧은 대답은 아닙니다. 그러나 재미를 위해, 나는 실제로 그 일을하기 위해 당신이해야 할 일에 대해 생각하기 시작했습니다.

1) 68K에서 GCC를 실행해야합니다 (GCC는 Objective-C를 말하는 컴파일러입니다. LLVM을 GCC로 대체 할 수는 있지만 얻지 마십시오. ~도 미친). 이것은 의미가 아닙니다. 최신 GCC 빌드를 간단히 살펴보면 해당 플랫폼에 아무것도 표시되지 않습니다 (당연히). 저는 GCC의 전문가가 아니지만 GCC 특이 적 확장과 Modern C를 사용하므로 기존 68K 컴파일러로 컴파일하는 것은 아마도 스타터가 될 것입니다.

따라서이를위한 첫 번째 단계는 GCC에 68K 백엔드를 추가하는 것입니다. 이를 통해 GCC는 68K에서 실행될 코드를 뱉어 낼 수 있습니다. 그런 다음 68K 지원 기능이있는 X86 빌드를 사용하여 실제로 고대 MAC에서 실행되는 새로운 GCC 바이너리를 크로스 컴파일 할 수 있습니다.

전에 GCC를 엉망으로 만든 적이 없어서이 작업이 약 2-3 년이 걸릴 것으로 생각됩니다. 아마도 더. 그러나 여전히 불가능하지는 않습니다.

2) 68K 머신에서 실행할 수있는 최신 버전의 GCC가 있으면 X86 또는 PPC를 위해 크로스 컴파일하는 데 사용할 수 있습니다. (AppKit에 대해 이야기하고 있으므로 이전 컴퓨터에서 이러한 프로그램을 실제로 실행할 수는 없습니다. 모든 테스트는 더 현대적인 기계에서 이루어져야합니다.) 이제 모든 라이브러리를 가져와야합니다. 대상 기계 (PPC 또는 X86 Mac)의 Cocoa/Foundation/Appkit/Libc/etc의 헤더와 68K의 GCC가 찾을 수있는 곳에 두십시오. 이것은 아마도 6 개월 동안 틀에 박힌 것이 필요할 것입니다. 그러나 다시, 그것은 불가능하지 않아야합니다.

그러나 합법적이지 않을 수도 있습니다. 내가 아는 한, OS X (코코아 포함)와 Xcode의 라이센스 계약을 통해 바이너리를 Willy-Nilly 주위로 옮기는 것은 원하는 기계로 옮길 수 없습니다. 아무도 Interpol을 방문하기를 원하지 않기 때문에이 작업을 수행하기 전에 유능한 변호사와 상담하고 싶을 것입니다.

3) 나는 당신 이이 시점에서 끝났다고 생각합니다. Mac IICI에 대공 -C/Cocoa 코드를 작성하여 PPC 또는 X86 Mac 용으로 컴파일하고 좋아하는 방법을 사용하여 OS X 박스로 배송 할 수 있습니다 (2005 년부터 Mac Guy 만 사용 했으므로 I Don ' t IICI의 연결 옵션도 알고 있으며 다소 고통스럽게 테스트하고 디버깅합니다.

이 시점에서 PPC 또는 X86 칩에서 OS X를 실행하는 Mac에 액세스 할 수 있습니다. 그리고 왜이 기계에서 모든 개발을하지 않는지 궁금 할 것입니다. IICI 개발 환경을 설정하는 데 몇 년을 보냈으므로 개발을 위해 오래된 PPC Mac을 구매할 수 있습니다. 값이 싼.

그래도 재미있는 아이디어가 될 수 있습니다. 당신이 그것을 뽑았다면 그것은 당신을 Reddit 첫 페이지에 데려 갈 것입니다. (그러나 솔직히 말해서, 그것이 당신이 후에 전부라면 YouTube를 위해 그것을 가짜로 만드는 것이 더 쉽습니다.)

다른 팁

짧은 대답 : 아니요.

Objective-C는 OS X와의 MAC 개발의 Lingua Franca가되었으며, 컴퓨터가 배송 된 후 10 년 정도 베타로 들어갔다. Pre-OS X 시스템에 대한 대부분의 개발은 C 또는 C ++로 수행되었습니다.

OS X가 없으면 링크 할 시스템 라이브러리 나 헤더가 없으며 Metrowerks 컴파일러는 대상 C 구문 또는 런타임 확장에 대해 아무것도 알지 못합니다.

또한 Objective-C 프레임 워크는 PowerPC (또는 현재 인텔) Mac 용으로 구축되는 반면 해당 기계의 프로세서는 이전 68K 아키텍처를 사용합니다.

GCC는 여전히 초기 Noughties에서 68k Amiga를 위해 편집되고 있었으므로 68K Mac OS에서 작업 할 수있는 기회가있을 수 있습니다. 객관적인 C 확장은 적어도 90 년대 초반 GCC에서 이용 가능하다고 생각합니다.

또 다른 옵션은 68K Linux를 사용하는 것입니다. 68K를위한 데비안 4.0 (Etch)의 항구가 있으며,이를 부활시키기위한 현재의 노력이 있으므로, 최근 버전의 GCC 실행을 얻을 수 있습니다.

컴파일을 가로 질러 갈 가능성도 있습니다.

동시 C 환경 (객관적인 C ++)과 Apple의 Macintosh 프로그래머 워크숍이 있다고 생각했습니다. 이론적으로, 이들 중 하나가 GCC의 목표 C 버전을 컴파일 할 수 있습니다.

아니요, 내 지식에 너무 오래된 것은 불가능합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top