Jump to content

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

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

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

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

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

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

См. также

[ редактировать ]
  1. ^ Jump up to: а б Беннетт, Джереми (июль 2010 г.). «Инициализация среды выполнения C, crt0.o» . Howto: Портирование newlib . Эмбекосм . Проверено 30 декабря 2013 г.
  2. ^ Jump up to: а б «4. Библиотека времени выполнения низкого уровня GCC» . Внутреннее устройство компиляторов GNU . ГНУ . Проверено 30 декабря 2013 г.
  3. ^ «Другие встроенные функции, предоставляемые GCC» . Введение GCC . ГНУ . Проверено 30 декабря 2013 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 30412a5d4a65c1c0d2f5ec901e144b0d__1722812700
URL1:https://arc.ask3.ru/arc/aa/30/0d/30412a5d4a65c1c0d2f5ec901e144b0d.html
Заголовок, (Title) документа по адресу, URL1:
Runtime library - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)