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

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

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

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

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

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

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

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

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

Примечания

    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.