Что такое "время выполнения"? - PullRequest
321 голосов
/ 10 октября 2010

Я слышал о таких вещах, как "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 Структуры данных времени выполнения является полезной ссылкой на этот вопрос.

Ответы [ 14 ]

0 голосов
/ 21 декабря 2016

Время, прошедшее во время выполнения программы.Но это слишком общее.Скажем, продолжительность после компиляции программы, когда ОС представляет рецепт программисту для взаимодействия или просмотра результатов разработанного им процесса, называется временем выполнения.Нет синтаксической ошибки и т. Д. Представлены во время выполнения.Т.е. логика верна (технически не по деловым причинам).Таким образом, мы можем сказать, что compileTime - это первичный уровень, а среда выполнения - вторичный.

0 голосов
/ 04 июля 2016

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

0 голосов
/ 16 октября 2010

Время выполнения несколько противоположно времени разработки и времени компиляции / времени компоновки.Исторически это происходило из медленной среды мэйнфреймов, где машинное время было дорого.

0 голосов
/ 10 октября 2010

Эти разделы документации MSDN касаются большинства ваших вопросов: http://msdn.microsoft.com/en-us/library/8bs2ecf4(VS.71).aspx

Надеюсь, это поможет.

Спасибо, Дамиан

...