Компилирует ли Objective-C нативный код или байт-код? - PullRequest
10 голосов
/ 06 октября 2008

В OS X компилирует ли Objective-C собственный код или байт-код?

Можно ли скомпилировать программы Objective-C в Linux?

Ответы [ 4 ]

19 голосов
/ 06 октября 2008

Objective-C компилируется в собственный код с помощью GCC или LLVM [*]. Вы можете скомпилировать программы ObjC для Linux (универсальный GCC с радостью поддержит ObjC, хотя он использует библиотеку времени выполнения, отличную от любой из библиотек Apple). Для кросс-платформенного API, похожего на Cocoa (то есть производного от Cocoa), который будет успешно работать в Linux и позволит вам портировать некоторый код между OS X и Linux, посмотрите GNUstep: http://www.gnustep.org

[*] Фактически, LLVM внутренне компилирует Objective-C во внутреннее представление битового кода, а затем в код для целевой машины, поэтому, возможно, ответ «оба»…

7 голосов
/ 06 октября 2008

Это родной.

Существует GNUstep , являющаяся реализацией Open Source спецификации NeXT OpenStep, написанной на Objective-C. Их реализация API Какао не является прямым соответствием, поэтому прямая компиляция без переноса невозможна.

4 голосов
/ 06 октября 2008

Да, Objective-C компилируется в машинный код.

Компиляторы Objective-C существуют для Linux, но Cocoa - это технология только для OS X. Я слышал об открытой замене под названием GNUstep, но мало что знаю об этом.

2 голосов
/ 06 октября 2008

Objective-C - это вариант C. Он компилируется в собственный код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...