Я слышал о таких вещах, как "C Runtime", "Visual C ++ 2008 Runtime", ".NET Common Language Runtime" и т. Д.
- Что такое " runtime "точно?
- Из чего он сделан?
- Как он взаимодействует с моим кодом?Или, может быть, точнее, как мой код контролируется им?
При кодировании языка ассемблера в Linux я мог бы использовать инструкцию INT для выполнения системного вызова.Итак, разве среда выполнения - не что иное, как набор готовых функций, которые оборачивают низкоуровневую функцию в более абстрактные и высокоуровневые функции?Но разве это не похоже на определение библиотеки, а не среды выполнения?
Являются ли "среда выполнения" и " библиотека времени выполнения " двумя разными вещами?
ADD 1
В наши дни, я думаю, что Runtime имеет что-то общее с так называемой Virtual Machine , такой как JVM.Вот цитата, которая приводит к такой мысли:
Этот процесс компиляции достаточно сложен, чтобы разбить его на несколько уровней абстракции, и в них обычно участвуют три транслятора: компилятор, реализация виртуальной машины иассемблер.--- Элементы вычислительных систем (Введение, Дорога к аппаратному обеспечению)
ADD 2
Книга Эксперт C Программирование:Deep C Secrets .Глава 6 Структуры данных времени выполнения является полезной ссылкой на этот вопрос.