Как использовать Obj-C 2.0 с GNUstep? - PullRequest
7 голосов
/ 11 ноября 2010

Мне известно о существовании libobjc2, и я понял, что мне нужно будет использовать clang, а не GCC, но я не могу найти каких-либо базовых инструкций о том, что отличается от процесса компиляции.

Может ли кто-нибудь дать явные пошаговые инструкции по приобретению, настройке, компиляции и использованию GNUstep с Objective-C 2.0 в Ubuntu ?

Ответы [ 2 ]

2 голосов
/ 09 декабря 2010

Поскольку на GNUStep ObjC2 FAQ уже есть ссылки, я предполагаю, что вы посмотрели.Однако я хотел бы указать на это:

Для более расширенных функций, которые в настоящее время поддерживаются только при компиляции с Clang, вам потребуется среда выполнения GNUstep.Это в настоящее время не считается готовым к производству.Он должен работать в качестве замены для среды выполнения GCC, но некоторые из расширенных функций недостаточно хорошо протестированы.

В FAQ также содержится следующее:

Если для компиляции кода вы используете последнюю версию GCC, у вас должна быть копия библиотеки времени выполнения Objective-C, поставляемой с вашим компилятором.

Если вы компилируете сфлаг -fobjc-nonfragile-abi, тогда вы будете использовать новый ABI.Это поддерживается только во время выполнения GNUstep.Это добавляет:

  • Самоанализ свойства
  • Самоанализ по необязательным методам протокола
  • Не хрупкие переменные экземпляра
  • Поддержка пересылки прокси

Итак, если вы ищете более старую функциональность через GCC, этот учебник будет хорошо работать, как и этот. Вы явно вызваличто вы хотите сделать это с помощью функциональности, предоставляемой Clang (через libobjc2 ), которая имеет собственную базу документации.

Получение релиза Clang и получениеустановка кажется довольно обрезанной и высушенной.Документ LLVM Getting Started является исключительно надежным (полный архив документации здесь ), что должно дать представление о настройке и компиляции серверной части.Некоторое дополнительное понимание ожидаемой процедуры сборки можно найти здесь .

Однако компиляция приложения Objective C в Clang кажется крайне недокументированной и непроверенной на момент написания этой статьи.Как только функции станут доступны и кодовая база стабилизируется, я думаю, что будет опубликовано больше пользовательской документации.

0 голосов
/ 11 ноября 2010

Согласно GNUstep Wiki , вам просто нужно скомпилировать код с -fblocks и -fobjc-nonfragile-abi.Тогда вы просто используете языковые функции в вашем коде.

...