stringtranslate.com

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

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

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

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

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

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

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

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

  1. ^ Аб Беннетт, Джереми (июль 2010 г.). «Инициализация среды выполнения C, crt0.o». Howto: Портирование newlib . Эмбекосм . Проверено 30 декабря 2013 г.
  2. ^ ab «4. Библиотека времени выполнения низкого уровня GCC». Внутреннее устройство компиляторов GNU . ГНУ . Проверено 30 декабря 2013 г.
  3. ^ «Другие встроенные функции, предоставляемые GCC» . Введение GCC . ГНУ . Проверено 30 декабря 2013 г.

Внешние ссылки