Библиотека среды выполнения

(перенаправлено с «Библиотека времени исполнения»)

Библиотека среды выполнения (также библиотека времени исполнения; англ. runtime library, RTL) — набор библиотек (модулей) той или иной системы программирования, поставляемых вместе с компилятором, операционной системой или средой разработки программ. Как следует из названия, RTL обеспечивает поддержку функций, предоставляемых системой программирования, во время выполнения программы от начала до её завершения.

Современные RTL включают также и свою среду выполнения, где программы выполняются, своеобразную «виртуальную машину», в рамках которой и выполняется программа. Такая система обеспечивает безопасность — всё, к чему программа имеет доступ, настраивается политиками безопасности RTL и переносимость — программы пишутся под RTL, а не операционную систему и тем более не под определённый процессор, а перенос RTL на разные платформы — забота системных разработчиков. Однако, программы при выполнении под RTL часто показывают отнюдь не высокие показатели быстродействия.

Принцип работы править

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

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

Многие операционные системы имеют свои RTL.

Некоторые функциональные виды библиотек времени исполнения:

  • библиотеки (как правило, встроенные) сборки мусора;
  • библиотеки обработки исключений;
  • библиотеки динамического определения типа и др.[уточнить]

Современные RTL могут комбинировать эти виды, например, JRE и Apache Harmony — RTL для выполнения программ, написанных на языке Java, — обладают всеми вышеперечисленными функциями.

Примечания править