Зачем нужна среда выполнения Objective C, если appl скомпилирован как нативный
Новое в Swift/Objective-c, пришедшее из Java, C# и C++. Насколько я понимаю, среда выполнения необходима, если код не является нативным, как в случае Java или C#, генерируется промежуточный код, который во время выполнения требует среды, которая переводит код на машинный язык, и мы называем среду выполнения (например, JRE).
Таким образом, прочитав некоторые Q и As о переполнении стека, становится ясно, что Swift и Objective-C оба скомпилированы как собственные двоичные файлы. Но им нужно время выполнения Objective C для их выполнения.
Я не знаю, зачем нужна среда выполнения, если код уже на машинном языке?
Это как библиотека, связанная с программой?
Или среда выполнения target-C - это отдельная среда, в которой размещается программа target-C/Swift? так же, как JRE?
Может кто-нибудь, пожалуйста, пролить свет на это?
Спасибо Ахмед
1 ответ
Многие языки программирования используют библиотеки времени выполнения, в том числе C++. Они состоят из низкоуровневых подпрограмм для поддержки модели языка программирования в операционной системе хостинга. Библиотека времени выполнения Objective-C реализует основные функции, такие как динамический поиск методов.
Java и C# требуют виртуальной машины, они гораздо более сложны, чем библиотеки времени выполнения.
НТН