Портативная среда выполнения Netscape
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Разработчик(и) | Фонд Mozilla / Корпорация Mozilla |
---|---|
Стабильная версия | 4.35 [1] ![]() |
Репозиторий | |
Написано в | С |
Операционная система | Кросс-платформенный |
Тип | Библиотека программного обеспечения |
Лицензия | МПЛ |
Веб-сайт | Firefox-источник-документы |
Netscape Portable Runtime , или NSPR , — это кроссплатформенная библиотека уровней абстракции для языка программирования C. Он предоставляет единый API для различных функций операционной системы. [2]
История
[ редактировать ]Первоначально NSPR был разработан как основа для виртуальной машины Java в Netscape 5 . Со временем он был расширен, чтобы обеспечить поддержку дополнительных функций, используемых в серверном и клиентском программном обеспечении Netscape. [3] Сегодня NSPR продолжает использоваться Firefox, а также многими серверными продуктами Oracle и Red Hat. [2]
Функции
[ редактировать ]Темы
[ редактировать ]NSPR предоставляет API потоков . Там, где это возможно, он использует возможности многопоточности ОС. Он также обеспечивает поддержку совместного использования памяти между потоками, а также создания и использования пулов потоков. блокировки , атомы , семафоры , а также кэшированные и некэшированные мониторы . Предусмотрены [4]
ввод/вывод
[ редактировать ]NSPR предоставляет функции для работы с файлами, каталогами, анонимными каналами и сетевыми сокетами . [4]
Сетевые адреса
[ редактировать ]NSPR определяет объект сетевого адреса, ориентированный на IP . Предоставляются функции для преобразования строк ASCII ( имен DNS ) в структуры сетевых адресов NSPR, независимо от того, использует ли технология адресации IPv4 или IPv6. [3] [4]
Время
[ редактировать ]NSPR предоставляет средства хронометража в двух формах: функции интервального хронометража и календаря.
Интервальные таймеры основаны на свободно работающем таймере с 32-битным разрешением. Их эпоху и интервал можно установить по мере необходимости.
Календарное время представлено с использованием 64-битного знакового времени Unix . NSPR предоставляет функции для управления и преобразования временных меток. [3] [4]
Управление памятью
[ редактировать ]NSPR предоставляет API для выполнения основных функций malloc , calloc , realloc и free . В зависимости от платформы функции могут быть почти полностью реализованы в среде выполнения NSPR или просто встраиваться в предложения хостовой операционной системы. [3] [4]
Связывание
[ редактировать ]Поддержка связывания ( загрузка и выгрузка общей библиотеки ) является частью набора функций NSPR. В большинстве случаев это просто сглаживание возможностей, предлагаемых различными поставщиками платформ. [3] [4]
Структуры данных
[ редактировать ]NSPR предоставляет реализации циклического связанного списка и хеш-таблицы . [4]
См. также
[ редактировать ]- Портативная среда выполнения Apache
- Адаптивная среда общения
- Промежуточное программное обеспечение кросс-платформенной поддержки
Ссылки
[ редактировать ]- ^ «Выпуск НСПР 4.35» . 12 сентября 2022 г. Проверено 30 августа 2023 г.
- ^ Jump up to: а б «НСПР» . Исходная документация Firefox . Мозилла . Проверено 27 января 2024 г.
- ^ Jump up to: а б с д и Ларри Х. «О НСПР» . Исходная документация Firefox . Мозилла . Проверено 27 января 2024 г.
- ^ Jump up to: а б с д и ж г «Справочник по API NSPR» . Исходная документация Firefox . Мозилла . Проверено 27 января 2024 г.