Генерация кода времени выполнения Objective-C - PullRequest
2 голосов
/ 14 сентября 2011

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

Я хочу, чтобы пользователь набрал некоторый код (правильность кода пока выходит за рамки). Когда пользователь закончил, я хочу создать класс набранного кода и использовать его в приложении.

Итак, я хочу динамически добавлять код во время выполнения приложения. Это возможно? Если так, как я могу достичь этого? Если нет, то почему нет, и есть ли альтернативы для создания того же эффекта, который я хочу создать?

Спасибо.

Ответы [ 3 ]

5 голосов
/ 14 сентября 2011

Вы можете динамически загружать классы во время выполнения, но для этого вам нужно сначала обработать распределение компилятора, его зависимостей компиляции (заголовки, ...), настроить его среду и т. Д. 1003 *

Обычно приложения используют языки сценариев, которые безболезненно встраиваются (Lua, Python, ...) или уже доступны на платформе (JavaScript, AppleScript, ...).

3 голосов
/ 14 сентября 2011

Я бы проверил F-Script .Это ближе к smalltalk, чем Obj-C, но IMO это ближе к Obj-C, чем JavaScript или Lua: -)

1 голос
/ 14 сентября 2011

На устройствах iOS это невозможно.На Mac вы можете ссылаться на библиотеки clang + llvm и использовать их для генерации кода в буфер, а затем mprotect (), чтобы буфер был исполняемым, я считаю.

...