Repolode
nothings

nothings/stb

Набор одnofайловых библиотек на C/C++ для загрузки изображений, растеризации шрифтов, структур данных и других задач; лицензия — public domain или MIT.

Звёзды
34,891
Форки
8,111
Открытые issues
438
Последний коммит
позавчера

Что это?

stb — это набор независимых библиотек на C/C++. Каждая поставляется одним заголовочным файлом, который можно просто добавить в проект без системы сборки или менеджера пакетов. По умолчанию большинство файлов работают как заголовки; чтобы включить реализацию, нужно определить макрос конкретной библиотеки ровно в одном исходном файле.

Набор охватывает широкий круг задач. Среди примечательных библиотек — stb_image для декодирования изображений JPG, PNG, TGA, BMP, PSD, GIF, HDR и PIC, stb_image_write для записи файлов PNG, TGA и BMP, stb_truetype для разбора и растеризации шрифтов TrueType, а также stb_ds для типобезопасных динамических массивов и хеш-таблиц на C. Другие библиотеки предназначены для декодирования Ogg Vorbis, упаковки прямоугольников, генерации шума Перлина, логики редактирования текста, воксельного рендеринга и редактирования тайловых карт.

Каждая библиотека распространяется как public domain; её также можно использовать на условиях MIT. Автор отмечает, что эти библиотеки, как правило, проще интегрировать, чем более крупные аналоги, хотя у них может быть меньше возможностей или ниже производительность.

Ключевые возможности

  • 01Каждая библиотека поставляется одним файлом и не имеет внешних зависимостей.
  • 02stb_image декодирует множество распространённых форматов изображений — из файла или памяти.
  • 03stb_truetype разбирает и растеризует шрифты TrueType.
  • 04stb_ds предоставляет типобезопасные динамические массивы и хеш-таблицы для C.
  • 05Лицензия public domain или MIT позволяет свободно использовать библиотеки повторно.

Сценарии использования

  • Загрузка текстур или изображений в игре или инструменте на C или C++ без подключения крупной библиотеки.
  • Рендеринг текста из шрифтов TrueType в собственном графическом движке.
  • Добавление динамических массивов или хеш-таблиц в проект на C без дополнительных зависимостей.
  • Включение небольших утилит непосредственно в проект, где нужно избежать сложной настройки сборки.

Быстрый старт

  1. 1

    Скачайте из репозитория нужный заголовочный файл из одного файла (например, stb_image.h)

  2. 2

    Ровно в одном исходном файле C/C++ определите макрос реализации и подключите заголовочный файл

Что важно знать

  • Сопровождающий stb_image.h не будет добавлять новые форматы изображений, поэтому набор поддерживаемых форматов фиксирован.
  • Ошибки, связанные с безопасностью, обсуждаются публично, а их исправление может занять значительное время.
  • В метаданных лицензия указана как NOASSERTION, хотя в README говорится о двойном лицензировании: общественное достояние или MIT.

Темы

Частые вопросы

Что такое stb?
Набор одnofайловых библиотек на C/C++ для загрузки изображений, растеризации шрифтов, структур данных и других задач; лицензия — public domain или MIT. stb — это набор независимых библиотек на C/C++. Каждая поставляется одним заголовочным файлом, который можно просто добавить в проект без системы сборки или менеджера пакетов. По умолчанию большинство файлов работают как заголовки; чтобы включить реализацию, нужно определить макрос конкретной библиотеки ровно в одном исходном файле.
stb можно использовать бесплатно? Какая у него лицензия?
stb распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
stb всё ещё поддерживается?
Активно поддерживается. Последний коммит в stb — 23 окт. 2026 г..
Для чего можно использовать stb?
Загрузка текстур или изображений в игре или инструменте на C или C++ без подключения крупной библиотеки. Рендеринг текста из шрифтов TrueType в собственном графическом движке. Добавление динамических массивов или хеш-таблиц в проект на C без дополнительных зависимостей. Включение небольших утилит непосредственно в проект, где нужно избежать сложной настройки сборки.
Как установить stb?
Скачайте из репозитория нужный заголовочный файл из одного файла (например, stb_image.h) Ровно в одном исходном файле C/C++ определите макрос реализации и подключите заголовочный файл
Где скачать stb?
Исходный код и инструкции по установке — на GitHub: https://github.com/nothings/stb

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Учебный гид по LeetCode на китайском языке: подборка задач в рекомендуемом порядке, решения с иллюстрациями, видеоразборы и код на C++, Java, Python, Go и JavaScript.

62,7 тыс.12,3 тыс.ShellБез лицензииОбновлён 17 часов назад