Objective-C и MetroWerks C / C ++ IDE - PullRequest
       27

Objective-C и MetroWerks C / C ++ IDE

2 голосов
/ 28 октября 2009

Я изучаю Objective-C, и у моего друга есть настоящий Macintosh IIci, который использует Mac System 7 (в частности, 7.5.5 с процессором 68k), и я установил Metrowerks C / C ++ IDE (я думаю, что это версия 1, но я не знаю), но я не проверял это, тогда я хочу знать одну вещь: возможно ли разработать в Objective-C, используя NSObjects / Objects и AppKit или что-то вроде этого? Спасибо.

Ответы [ 4 ]

5 голосов
/ 28 октября 2009

Краткий ответ: нет.

Objective-C стал основным языком разработки Mac под OS X, которая вышла на бета-версию примерно через 10 лет после того, как этот компьютер был поставлен. Большая часть разработки для систем до OS X была сделана на C или C ++.

Без OS X у вас не будет системных библиотек или заголовков для компоновки, а компилятор Metrowerks не будет ничего знать о синтаксисе Objective-C или расширениях среды выполнения до C.

В довершение всего, платформы Objective-C созданы для компьютеров PowerPC (или теперь Intel), тогда как процессор на этой машине использует более старую архитектуру 68k.

5 голосов
/ 28 октября 2009

Краткий ответ, как говорит Стивен, - нет. Но ради интереса я начал думать о том, что вам нужно сделать, чтобы на самом деле сделать эту работу.

1) Вы должны заставить gcc работать на 68k (gcc - это компилятор, говорящий на Objective-C; вы, вероятно, могли бы заменить lvm на gcc, но давайте не будем слишком сумасшедшими). Это не подвиг. Беглый взгляд на последние сборки gcc ничего не показывает для этой платформы (неудивительно). Я не эксперт по gcc, но могу поспорить, что он использует специфичные для gcc расширения и современный C, так что заставить его скомпилировать с существующим компилятором 68k, вероятно, будет непросто.

Таким образом, первым шагом для этого будет добавление 68k back-end к gcc. Это позволит gcc выложить код, который будет работать на 68k. Затем вы можете использовать сборку gcc для x86 с поддержкой 68k для кросс-компиляции нового двоичного файла gcc, который фактически будет работать на вашем древнем Mac.

Никогда прежде не связывался с gcc, я подозреваю, что это заняло бы у меня два-три года. Может больше. но все же, это не невозможно.

2) Получив современную версию gcc, которую вы можете запустить на своем компьютере с 68k, вы можете использовать ее для кросс-компиляции для x86 или PPC. (Поскольку вы говорите о AppKit, вы никогда не сможете на самом деле запустить ни одну из этих программ на своем старом компьютере. Все тестирование должно будет проводиться на более современной машине.) Теперь вам нужно получить все библиотеки и Заголовки для Cocoa / Foundation / AppKit / libc / etc с вашей целевой машины (PPC или Mac x86) и поместите их куда-нибудь, чтобы gcc на вашем 68k мог найти. Это, вероятно, займет добрых 6 месяцев, чтобы получить правильные результаты. Но опять же, это не должно быть невозможно.

Хотя это не может быть законным. Насколько я знаю, лицензионные соглашения для OS X (которая содержит Cocoa) и Xcode не позволят вам свободно перемещать эти двоичные файлы на любую нужную вам машину. Вы хотели бы поговорить с компетентным адвокатом, прежде чем делать это, поскольку никто не хочет посещать Интерпол.

3) Я думаю, что вы закончили на этом этапе. Вы можете написать код Objective-C / Cocoa на своем Mac IIci, скомпилировать его для PPC или Mac x86, отправить его на OS X, используя ваш любимый метод (я был парнем с Mac с 2005 года, поэтому я не я даже не знаю вариантов подключения на IIci), и тестировать и отлаживать его довольно болезненно.

На данный момент у вас есть доступ к Mac с OS X на чипе PPC или x86. И вы удивитесь, почему вы просто не делаете всю свою разработку на ЭТОЙ машине. А поскольку вы потратили несколько лет на настройку среды разработки IIci, покупка старого PPC Mac для разработки будет стоить дешево .

Тем не менее, это может быть забавной идеей. Вероятно, вы попадете на первую страницу Reddit, если вы остановите его. (Хотя, честно говоря, было бы проще просто подделать его для YouTube, если это все, что вам нужно.)

1 голос
/ 23 марта 2013

gcc все еще компилировался для 68k Amiga в начале 90-х годов, поэтому может быть шанс заставить его работать на 68k Mac OS. Я полагаю, что расширение Objective C было доступно по крайней мере в начале 90-х для gcc.

Другой вариант - использовать 68k Linux. Существует порт Debian 4.0 (etch) для 68k, и в настоящее время предпринимаются усилия по его восстановлению, так что вы, вероятно, можете запустить довольно свежую версию gcc.

Существует также возможность кросс-компиляции.

Современными средами C (понятия не имел, поддерживали ли они Objective C) были Think C (позже Symantec C ++) и Apple Macintosh Workshop Workshop. Теоретически, вы можете получить один из них, чтобы скомпилировать объективную версию gcc, поддерживающую C.

0 голосов
/ 28 октября 2009

Нет, я не знаю, что они слишком стары.

...