Библиотека времени исполнения - Runtime library

В компьютерное программирование, а библиотека времени исполнения представляет собой набор низкоуровневых подпрограмм, используемых компилятор вызвать некоторые из поведения среда выполнения, вставив вызовы библиотеки времени выполнения в скомпилированный исполняемый двоичный файл. Среда выполнения реализует модель исполнения, встроенные функции и другие фундаментальные особенности поведения язык программирования[1]. Во время исполнения (время выполнения ) того, что компьютерная программа выполнение этих вызовов библиотеки времени выполнения вызывает связь между исполняемым двоичным файлом и средой выполнения. Библиотека времени выполнения часто включает встроенные функции для управления памятью или Обработка исключений.[2] Поэтому библиотека времени выполнения всегда зависит от платформы и компилятора.

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

Например, некоторые языковые функции, которые могут выполняться только (или являются более эффективными или точными) во время выполнения, реализованы в среде выполнения и могут быть вызваны через API библиотеки времени выполнения, например некоторые логические ошибки, проверка границ массива, проверка динамического типа, обработка исключений и, возможно, функции отладки. По этой причине некоторые программные ошибки не обнаруживаются до тех пор, пока программа не будет протестирована в «живой» среде с реальными данными, несмотря на сложные проверки во время компиляции и тестирование, выполняемые во время разработки.

В качестве другого примера, библиотека времени выполнения может содержать код встроенных низкоуровневых операций, слишком сложный для их встраивание во время компиляции, например, реализации арифметических операций, не поддерживаемых напрямую целевым процессором, или различных различных операций и директив, специфичных для компилятора.[2][3]

Концепция библиотека времени исполнения не следует путать с обычным библиотека программ например, созданный прикладным программистом или предоставленный третьей стороной, ни с динамическая библиотека, то есть программная библиотека, связанная во время выполнения. Например, Язык программирования C требуется только минимальная библиотека времени выполнения (обычно называемая crt0), но определяет большую стандартную библиотеку (называемую Стандартная библиотека C ), который должен быть предоставлен каждой реализацией.[1]

Смотрите также

Рекомендации

  1. ^ а б "Инициализация среды выполнения C, crt0.o". embecosm.com. 2010 г.. Получено 2013-12-30.
  2. ^ а б «Внутреннее устройство компиляторов GNU, Глава 4. Низкоуровневая библиотека времени выполнения GCC». gnu.org. Получено 2013-12-30.
  3. ^ «Другие встроенные функции, предоставляемые GCC». Введение в GCC. gnu.org. Получено 2013-12-30.

внешняя ссылка