Возможно ли получить промежуточный код C из Objective-C?

Как я понимаю правильно, кроме того, что язык Objective-C является строгим надмножеством "чистого" C, добавленная парадигма ООП имитируется набором функций, частично описанных в Objective-C Справочник по времени выполнения.

Поэтому я ожидаю возможность как-то скомпилировать код Objective-C в промежуточном файле C/С++ (возможно, с некоторыми вставками asm).

Возможно ли вообще?

Ответ 1

Вы можете использовать переписчик clang для преобразования в С++. Не знаю, как идти на C, хотя.

Переписывающий файл доступен через командную строку "-rewrite-objc".

Ответ 2

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

Но вы можете написать свою программу Objective-C целиком на C, вызвав ее непосредственно в среду выполнения Objective-C. Проблема в том, что код может отличаться в разных версиях или даже разных версиях одной и той же среды выполнения.

Вопрос в том, действительно ли это стоит проблемы?