C ++ Коллекция ресурсов китайская версия
Awesome-CPP-это список ресурсов C ++, инициированных и поддерживаемых fffaraz , в том числе: стандартная библиотека, структура веб-приложений, искусственный интеллект, база данных, обработка изображений, машинное обучение, журнал, анализ кода и т. Д.
Китайская версия поддерживается и обновляется с开源前哨4400 Star официальной командой WeChat CPP开发者.
Участники этого проекта
Содействие:开源前哨и CPP开发者WeChat Public Account Team. «Outpost с открытым исходным кодом» регулярно делятся новейшими, интересными и популярными проектами с открытым исходным кодом в колонке Zhihu, каждый проект имеет подробные введения и примеры. Портал: https://www.zhihu.com/column/c_1317124962785062912
Авторы: Cccookieee, Jingerjoe, Yunzhongyou, Bingbin, Juliesand, Zzmarquis, Yan Minhui, Tangyouhua, Shenmian
Примечание: список не ранжируется и будет время от времени обновляться
Оглавление
- Стандартная библиотека
- рамка
- Ай
- Асинхронная петля события
- Аудио
- Экология
- сжатие
- Параллелизм
- контейнер
- Криптография
- база данных
- отлаживать
- Игровой двигатель
- Графический пользовательский интерфейс
- Графика
- Обработка изображений
- Интернационализация
- Json
- бревно
- Машинное обучение
- математика
- мультимедиа
- сеть
- физика
- Робототехника
- Научные вычисления
- сценарий
- Сериализация
- видео
- Виртуальная машина
- Структура веб -приложений
- XML
- Несколько смешанных
- программное обеспечение
- Компилятор
- Онлайн компилятор
- отладчик
- Интегрированная среда разработки
- Построить систему
- Анализ статического кода
Стандартная библиотека
Стандартная библиотека C ++ включает в себя контейнеры STL, алгоритмы и функции.
- Стандартная библиотека C ++: представляет собой коллекцию серии классов и функций, написанных на основном языке, а также является частью собственных стандартов C ++ ISO.
- Стандартная библиотека шаблонов: стандартная библиотека шаблонов.
- C POSIX Library: Стандартная спецификация библиотеки C для системы POSIX.
- ISO C ++ Комитет по стандартам: C ++ Комитет по стандартам.
- Библиотека GNU C: цель этого руководства - показать вам, как использовать библиотеку GNU C.
рамка
C ++ Общая структура и библиотека
- abseil-cpp: abseil c ++ Общая библиотека.
- Стандартная библиотека Apache C ++: это коллекция алгоритмов, контейнеров, итераторов и других основных компонентов.
- APR: Apache Portable Litment Library. Другая кроссплатформенная библиотека.
- ASL: Библиотека исходного кода Adobe обеспечивает рассмотрение и портативную библиотеку исходного кода C ++.
- Boost: коллекция большого количества библиотек C ++ общего назначения.
- BDE: из среды разработки Блумбергской информационной лаборатории.
- Cinder: предоставляет сообщество разработчиков с открытым исходным кодом профессионального качества творческого кодирования.
- CO - Base Basic Library C ++, включая библиотеку COROUTINE, библиотека журналов, библиотеку JSON, RPC Framework и другие основные компоненты.
- CXXOMFORT: легкая библиотека, которая содержит только файлы заголовков, порты некоторые новые функции C ++ 11 до C ++ 03.
- DLIB: универсальная кроссплатформенная библиотека C ++, разработанная с использованием контрактного программирования и современной технологии C ++.
- EASTL: EA-STL Public Part.
- ETL: встроенная библиотека шаблонов.
- FFEAD-CPP: Структура разработки приложений предприятия.
- Безумие: библиотека C ++ с открытым исходным кодом, разработанная и используемая Facebook.
- FunctionalPlus: C ++ Библиотека функциональных программирования, написание краткого и простого для чтения кода C ++.
- Glib: Glib предоставляет базовые кодовые блоки для библиотек и приложений, написанных в C.
- JUCE: библиотека классов C ++ в целом для разработки кроссплатформенного программного обеспечения.
- Kigs Framework: C ++ Бесплатный и с открытым исходным кодом модульный, многофункциональный, кроссплатформенный RAD-структура.
- Либфеном: структура событий для создания высокопроизводительных и высокомешневых систем.
- Libsourcey: C ++ 11 Evanted IO для потоковой передачи видео в реальном времени и высокопроизводительных сетевых приложений.
- LIBU: многоплатформенная библиотека инструментов, написанная на языке C.
- Локи: дизайн библиотеки C ++, включая реализацию общих моделей проектирования и идиомов.
- MILI: небольшая библиотека C ++, содержащая только файлы заголовков.
- OpenFrameWorks: Разработка наборов инструментов C ++ для творческого кодирования.
- QT: кроссплатформенное приложение и структура пользовательского интерфейса.
- Причина: кроссплатформенная структура, которая позволяет разработчикам более легко использовать Java, .net и Python, а также удовлетворяет их потребности в производительности и преимуществах C ++.
- Корень: серия объектно-ориентированных структур со всеми функциями, которые могут обрабатывать и анализировать большие объемы данных очень эффективно и используются европейскими институтами исследований атомной энергии.
- STLPORT: является представительной версией STL.
- STXXL: стандартная библиотека шаблонов для дополнительных больших наборов данных.
- Tbox: многоплатформенная библиотека C, похожая на Glib.
- Ultimate ++: C ++ кроссплатформенная структура разработки приложений.
- USTL: маленькая библиотека STL.
- Библиотека шаблонов Windows: библиотека C ++ для разработки приложений Windows и компонентов пользовательского интерфейса.
- YOM2: Быстрый, ортогональный, открытый мульти-методы, заменив yom11.
Ай
- AnnetGPGPU: библиотека искусственной нейронной сети на основе GPU (CUDA).
- BTSK: Инструмент пускового установки дерева поведения игры.
- Развивающиеся объекты: вычислительная библиотека Evolution Evolution, основанная на шаблоне, может очень быстро написать свой собственный алгоритм случайной оптимизации.
- Бругально глубинный: библиотека C ++ с использованием модели Keras, только файлы заголовков.
- Генанн: Простая библиотека нейронной сети C.
- MXNET: легкое, портативное, гибкое распределенное/мобильное глубокое обучение с динамическим планировщиком управления потоком данных, с учетом мутаций. Подходит для Python, R, Julia, Scala, Go, JavaScript и многое другое.
- Pytorch: библиотека Python с мощным ускорением ЦП, включая тензоры и динамические нейронные сети.
- Recast/Detour: (3D) Генератор навигационной сетки и поиск пути, в основном используемые в играх.
- Tensorflow: библиотека программного обеспечения с открытым исходным кодом, которая использует графики потока данных для численных расчетов.
- CNTK: Microsoft Cognitive Toolkit (CNTK), библиотека инструментов глубокого обучения с открытым исходным кодом.
- Tiny-DNN: Free Free Deby Learning Framework в C ++ 11, только с файлами заголовков.
- Велей: распределенная платформа для быстрого разработки приложений глубокого обучения.
- Калди: инструментарий распознавания голоса.
Асинхронная петля события
- ASIO: кроссплатформенная библиотека C ++ для сетевого и базового программирования ввода-вывода, используя современные методы C ++ для предоставления разработчикам последовательной асинхронной модели.
- Boost.asio: кроссплатформенная библиотека C ++ для сетевого и базового программирования ввода-вывода.
- C ++ Actor Framework: реализация модели актера с открытым исходным кодом в C ++.
- LIBEV: Полнофункциональный, высокопроизводительный промежуток времени, слегка подражая LibeVent, но больше не имеет таких ограничений, как Libevent, и он также исправляет некоторые из своих ошибок.
- Libevent: библиотека уведомлений о событиях.
- LIBHV: библиотека перекрестных платформенных цикла событий.
- LIBUV: кроссплатформенный асинхронный ввод-вывод.
- Orders-CPP: библиотека, которая реализует стандарт обещания/A+, только файлы заголовков.
- UVW: Encaptulator Libuv's C ++.
Аудио
Аудио, звук, музыка, цифровая музыкальная библиотека
- AudioFile: простая библиотека C ++ для чтения и написания аудиофайлов.
- FMOD: простые в использовании кроссплатформенного аудио двигателя и инструмента создания игр для аудиоконтента.
- KFR: Быстрый, современная структура DSP C ++, FFT, FIR/IIR -фильтр и преобразование скорости дискретизации.
- LAME: LAME-это высококачественный Audio Audio Audio Audio Therd Layer (mp3).
- Libsndfile: C ++ Инкапсулированная C Библиотека C, используемая для чтения и записи файлов, содержащих выборки, через стандартный интерфейс библиотеки.
- Libsounco: A C библиотека для кроссплатформенного аудиовхода и вывода в реальном времени.
- Максимилиан: C ++ Аудио и музыкальная библиотека обработки сигналов.
- OpenAl: Audio Library с открытым исходным кодом --- кроссплатформенное аудио API.
- Miniaudio: библиотека для однолетного воспроизведения и записи звука.
- Opus: полностью открытый, без роялти, очень универсальный аудиокодек.
- Portaudio: бесплатно, кроссплатформенная, библиотека аудио/вывода с открытым исходным кодом.
- SELA: Simplie Loss Bless Audio.
- SOLOUD: простой и портативный игровой аудио двигатель.
- Speex: бесплатный кодек, отброшенный Opus.
- Тоник: C ++ Простой в использовании и эффективный синтез звука.
- Vorbis: OGG Vorbis-это совершенно открытый, не является предшественником, универсальным сжатым звуковым форматом без роялти.
- Minimp3: общедоступный домен, реализация чистой комнаты MP3 Декодер, только файлы заголовков.
- Verovio: быстрая и легкая библиотека музыкальных символов.
- Wav2letter ++: общественная домена, библиотека обработки речи с открытым исходным кодом, написанная полностью в C ++, используя библиотеку Tensor ArrayFire и библиотеку машинного обучения фонарика для достижения максимальной эффективности.
Экология
Биоинформатика, геномика и биотехнология
BIOC ++: C ++ Библиотека вычислений для биоинформатики.
Целомашко: библиотека с открытым исходным кодом C ++ для вычислительного моделирования математических моделей, разработанных для физиологии и биологии.
Либерация: библиотека C ++ для представления и анализа генетических данных популяции.
Seqan: алгоритмы и структуры данных, ориентированные на анализ последовательности биологических данных.
VCFLIB: библиотека C ++ для анализа и обработки файлов VCF.
WHAM: Примените ассоциативные тесты непосредственно к структурным мутациям генов в файлах BAM.
Битстрим
- JECH/DHT: библиотека библиотеки распределенных хеш -таблиц с распределением хеш -таблиц, реализованная C.
- LibTorrent (он же LibTorrent Rasterbar): эффективная и функциональная реализация C ++ Bitstream.
- LibTorrent (он же либеторрент-ракшаса): библиотека бит-ремней.
- LIBUTP: библиотека протоколов Transport Transport.
Химический
Химия, геохимия, биохимия
- D-SEAMS: двигатель Orbital Analysis Molecular Dynamics с реализацией NIX C ++ и LUA, который является аббревиатурой для отложенного структурного анализа молекулярного моделирования.
- GROMACS: Параллельная молекулярная динамика реализация передачи сообщений.
- Reaktoro: вычислительная структура для моделирования химических реакционных систем в C ++ и Python.
- Lammps: классический код молекулярной динамики для моделирования материала, это аббревиатура для крупномасштабного массивного параллельного симулятора атомной/молекулы.
Интерфейс командной строки
Пользовательский интерфейс консоли/терминала, интерфейс командной строки
- ARGH!: Минималистский обработчик параметров, который только заголововые файлы.
- Taywee / Args: простая библиотека анализа параметров C ++ с только файлами заголовков.
- Boost.program_options: Получить библиотеку для выбора программ с помощью общих методов, таких как командные строки и файлы конфигурации.
- Клара: Простая в использовании, композиционная командная строка синтаксического анализатора для C ++ 11 и более поздней.
- CLI: кроссплатформенная библиотека C ++ 14 для интерактивных интерфейсов командной строки, только с файлами заголовков.
- CLI11: Одиночная или многолетняя библиотека C ++ 11 для простого и расширенного анализа CLI, только с файлами заголовков.
- Jarro2783/CXXOPTS: легкие параметры командной строки C ++.
- docopt.cpp: библиотека, которая генерирует параметры, проанализированные из строк документов.
- GFLAGS: модуль командной строки C ++.
- Индикаторы: показатели активности современного C ++.
- Linenoise: небольшой независимый выбор для чтения и Libedit.
- Linenoise-NG: небольшая портативная замена чтения GNU для Linux, Windows и MacOS, которая способна обрабатывать символы UTF-8.
- Lyra: простой в использовании, композиционная командная строка синтаксика для C ++ 11 и более поздней.
- Ncurses: пользовательский интерфейс терминала.
- PDCurses: библиотека общедоступного домена с исходным кодом и предварительно скомпилированными библиотеками.
- Replxx: поддерживает UTF-8, синтаксис, подчеркивание, быстрое чтение и замена Libedit, которые могут работать на UNIX и Windows.
- Tabulate: современный инструмент для создания таблицы C ++.
- Tclap: зрелая, стабильная и разнообразная библиотека для определения и доступа к параметрам командной строки в ANSI C ++.
- Термин: библиотека C для написания текстовых пользовательских интерфейсов.
сжатие
Библиотека сжатия и архива
- Bit7Z: статическая библиотека C ++, обеспечивая простой интерфейс с 7-zip dlls.
- Brotli: Brotli Compression Format, разработанный Google.
- BZIP2: совершенно бесплатное, бесплатное патентное и высококачественное сжатие данных.
- FinitestateEntropy: новое поколение энтропий Кодеки: Энтропия конечного состояния и Huff ().
- PhysicsFS: библиотека, которая предоставляет абстрактный доступ к различным архивам, в основном используется в видеоиграх, а вдохновение дизайна частично получено из подсистемы файла Quake3.
- Karchive: библиотека для создания, чтения, написания и манипулирования архивами файлов, таких как Zip и TAR.
- Libarchive: многоформатная библиотека архива и сжатия.
- LZ4: очень быстрый алгоритм сжатия.
- LZFSE: LZFSE Библиотека сжатия и инструменты командной строки.
- LZHAM: база данных сжатия без потерь, коэффициент сжатия близок к LZMA, но скорость декомпрессии намного быстрее.
- LZMA: 7Z формат по умолчанию и общий метод сжатия.
- LZMAT: чрезвычайно быстрая библиотека сжатия данных в реальном времени.
- Miniz: Single C Source File, Compact/Expand Compression Library, с использованием zlib-совместимого API, Zip Archive Read and Write и метода написания PNG.
- Minizip: последнее исправление ошибки Zlib, поддерживает диск PKWare Spanning, AES шифрование и буферизацию IO.
- Smaz: маленькая библиотека сжатия символов.
- Snappy: быстрое сжатие и декомпрессия.
- Zlib: очень компактная библиотека сжатия потока данных.
- Zlib-NG: Zlib для систем «следующего поколения», внедряя замену некоторых важных оптимизаций.
- ZSTD: Zstandard - быстрый алгоритм сжатия в реальном времени. Разработано Facebook.
- Zziplib: предоставляет разрешения для чтения для архивов Zip.
Параллелизм
Одновременное выполнение и многопоточное
- Альпака: абстрактная библиотека для параллельного ускорения ядра.
- Arrayfire: библиотека графических процессоров общего назначения.
- Async ++: легкая параллельная структура для C ++ 11, вдохновленная библиотекой Microsoft PPL и стандартным предложением N3428 C ++.
- Boost.compute: C ++ GPU Computing Library для OpenCl.
- Болт: библиотека шаблонов C ++, оптимизированная для графического процессора.
- CK: Одновременные примитивы, безопасные механизмы восстановления памяти и неблокирующие структуры данных.
- CONCURRENTQUEUE: C ++ 11 Fast Multi-Producer и Multi-Consumer без блокировки.
- CPP-Taskflow: быстрое параллельное программирование C ++ с зависимостью задач.
- Cub: Cub обеспечивает новейшие многоразовые программные компоненты для каждого уровня режима программирования CUDA.
- CUDA-API-WRAPPERS: легкий современный инкапсулятор C ++ для программирования API времени выполнения для графических процессоров CUDA.
- Cupla: запустите API CUDA/C ++ в OpenMPA, Threads, TBB ... через Alpaka.
- C ++ React: библиотека реактивного программирования для C ++ 11.
- FibertaskingLib: многопоточная библиотека, основанная на задачах, которая поддерживает таблицы задач с произвольными зависимостями.
- HPX: универсальная система выполнения C ++ для параллельных распределенных приложений любого размера.
- Планировщик задач Intel Games: структура планирования задач, предназначенная для потребностей разработчиков игр.
- Intel Parallel STL: Intel реализация C ++ 17 STL для C ++ 11 и более поздних.
- Intel TBB: модуль строительства потоков Intel.
- соединение: библиотека C ++ для одновременных структур данных.
- Kokkos: модель портативного программирования для параллельной работы и абстракции памяти.
- LIBCDS: библиотека C ++ для параллельных структур данных.
- Libclsph: библиотека имитации жидкости SPH на основе Opencl.
- Libmill: ввести структурную параллелизм в C.
- Libdispatch: Grand Central Dispatch (GCD), разработанная Apple, является параллельной технологией задачи, основанной на шаблоне пула потоков. Библиотека Libdispatch предоставляет реализацию услуг GCD.
- Libmill: ввести параллелизм в стиле Go в C.
- MARL: MARL - это планировщик задач для смешанных потоков/волокон, написанных в C ++ 11.
- ModernNGPU: ModernNGPU - это библиотека производительности для общих вычислений графических процессоров, он имеет только файлы заголовков C ++, написанные для CUDA. Уникальная ценность этой библиотеки заключается в его примитивах ускорения, используемых для решения нерегулярных параллельных задач.
- NCCL: оптимизированные примитивы для коллективной мульти-GPU Communice.
- OpenCl: открытый стандарт для гетерогенных систем, которые запрограммированы параллельно.
- OpenMP: OpenMP API.
- Sobjectizer: довольно маленькая структура C ++, которая реализует режимы Actor, Publish-Subscribe и CSP.
- Quantum: мощная структура C ++ Collaborative Scheduler, построенная на верхнем уровне Boost :: Coroutines2.
- Raftlib: библиотека Raftlib C ++, реализует параллелизм потока данных/потока данных через iostream-подобные операторы C ++.
- ReaderWriterQueue: C ++ Быстрый однопроизводитель и один потребительский бесплатный очередь.
- STDGPU: эффективная структура данных STL на графическом процессоре.
- Уклон: библиотека параллельных алгоритмов, аналогичная стандартной библиотеке стандартных шаблонов C ++.
- Transwarp: библиотека C ++ для параллелизма задач, только файлы заголовков.
- VEXCL: C ++ Векторная библиотека экспрессии для OpenCl/CUDA.
- Quantum: мощная структура C ++ Collaborative Scheduler, построенная на верхнем уровне Boost :: Coroutines2.
- STAPL: C ++ Параллельное программирование структуры, предназначенная для работы на общих и распределенных параллельных компьютерах памяти.
Конфигурация
Файл конфигурации, файл INI
INIH: простой анализатор файла .ini на языке C, который очень подходит для встроенных систем.
INIH: версия INIH C ++, только файлы заголовков.
ineparser: INI -файл анализатор файла.
LibConfig: C и C ++ Библиотеки, используемые для обработки структурированных файлов конфигурации.
LibConfuse: C -небольшая библиотека анализа файлов файлов C.
SimpleIni: кроссплатформенная библиотека C ++, которая предоставляет простой API для чтения и написания файлов конфигурации INI.
Toml ++: Toml Parser и Stringer, подходящие для C ++ 17 и позже, с только файлами заголовков.
контейнер
- C ++ B-Tree: библиотека шаблонов, которая реализует контейнеры памяти команд на основе структуры данных B-Tree.
- Колония: неупорядоченные контейнеры «сумки», которые работают лучше, чем стандартные контейнеры, когда они сильно модифицированы. В то же время он всегда может поддерживать постоянный указатель на нехваченный элемент, независимо от вставки или стирания.
- Dynamic_bitset: C ++ 17 Динамическая коллекция бицет, только файлы заголовков.
- ЛЕС: ОПРЕДЕРЖИТЬ ШАПАТНЫЕ БИБЛИОТЕКИ для AVL, бинарного поиска, KD и Quadtree.
- Hashmaps: реализация алгоритма хэш -таблицы с открытой адресацией в C ++.
- Карта Hopscotch: используйте алгоритм хэш -хэша Hopscotch для реализации быстрого картирования хеш -карты для разрешения конфликтов, только с файлами заголовков.
- LSHBOX: набор инструментов C ++ для локально чувствительных алгоритмов (LSH) предоставляет несколько общих алгоритмов LSH и также может поддерживать Python и Matlab.
- PGM-индекс: структура данных, которая может быстро найти, свинец, поиск диапазона и обновлять сотни миллионов элементов, используя порядок градиентов, а не пространства по сравнению с традиционными индексами.
- PLF :: List: STD :: Реализация списка, которая очищает сшивание диапазона, чтобы включить удобные кеше структуры, что приводит к значительно улучшенной производительности.
- PLF :: Stack: std :: Acder Adapter Container, который имеет лучшую производительность в контексте стека, чем любой стандартный контейнер.
- RING_SPAN LITE: упрощенная реализация RING_SPAN от Артура О'Дуайера, такого как круговой буферизированный вид.
- Робин-Худ-Хэширование: быстрый хэш-таблица, экономясь памятью для C ++ 1, на основе алгоритма хэширования Робин-Гуда.
- Robin-MAP: Хэш-картирование и хэш-набор с использованием алгоритма хэша Робин Гуда.
- Sparsepp: быстрое, хэш-картирование с экономящими памятью для C ++.
Криптография
Библиотека криптографии и шифрования
- Bcrypt: кроссплатформенный инструмент шифрования файлов, который можно перенести на все поддерживаемые операционные системы и процессоры.
- Beecrypt: портативная и быстрая библиотека шифрования.
- Ботан: библиотека шифрования C ++.
- Crypto ++: бесплатная библиотека C ++ для схем шифрования.
- Digestpp: C ++ 11 Информационная дигест (хэш) библиотека, только файлы заголовков.
- GNUPG: Полная и бесплатная реализация стандарта OpenPGP.
- GNUTLS: безопасная библиотека связи, которая реализует протоколы SSL, TLS и DTLS.
- Libgcrypt: универсальная библиотека паролей, первоначально основанная на коде CNUPG.
- Libressl: Протокол Free SSL/TLS принадлежит филиалу OpenSSL в 2014 году.
- Libsodium: библиотека шифрования на основе NACI, упрямая и простая в использовании.
- Libhydrogen: легкая, безопасная, простая в использовании библиотеку шифрования для ограниченных сред.
- Libtomcrypt: довольно всеобъемлющий, модульный и портативный инструментарий шифрования.
- Mbedtls: открытый, портативный, простой в использовании, читаемой, гибкой библиотеке SSL, ранее известной как Polarssl.
- Базовая библиотека шифрования.
- OpenSSL: надежная, коммерческая, полностью функциональная библиотека шифрования с открытым исходным кодом.
- Стимарь: коллекция криптографии, связанной с хэш -функциями, паролями, инструментами, библиотеками и материалами.
- S2N: реализация протокола TLS/SSL.
- SHA1CollisionDetection: инструмент библиотеки и командной строки для обнаружения конфликтов SHA-1 в файлах.
- Tink: многоязычная, кроссплатформенная библиотека, которая обеспечивает безопасную, простую в использовании и трудно злоупотреблять API шифрования.
- Крошечные AES в C: C Маленький и средний портативный AES128/192/256.
- Themis: библиотека шифрования для безболезненной безопасности данных, обеспечивающая симметричное и асимметричное шифрование для мобильных и серверных платформ, безопасные розетки с прямой конфиденциальностью.
CSV
Библиотека для разбора запятых запятых файлов (CSV)
- CSV2: быстрый анализатор CSV для современного C ++.
- Fast C ++ CSV-анализатор: небольшая, простая в использовании и быстрая библиотека для чтения файлов CSV, включая только файлы заголовков.
- Парсер Vince CSV: быстрый, автономный, потоковой потоковой CSU -анализатор CSV с дополнительным преобразованием типа и статистикой.
база данных
Базы данных, серверы SQL, драйверы и инструменты ODBC
- Hiberlite: C ++ Объект реляционного картирования для SQLite3.
- Hiredis: очень простая клиентская библиотека C для баз данных Redis.
- LevelDB: быстрый репозиторий для ключей, записанный Google, который предоставляет упорядоченное отображение от клавиш символов до строковых значений.
- LMDB: встроенное хранилище ключей, которое соответствует четырем основным элементам базы данных.
- LMDB ++: C ++ 11 Encapsulator для встроенных баз данных LMDB.
- Mongodb C Driver: Cliater Client Library C's MongoDB.
- Драйвер C ++ MongoDB: драйвер C ++ для Mongdb.
- Mongodb Libbson: библиотека утилит BSON.
- MySQL ++: Encapsulator C ++, который инкапсулирует API MySQL.
- NanoDBC: небольшая обертка C ++ для нативного CODBC API.
- ODB: C ++ с открытым исходным кодом, кроссплатформенным и системой реляционного отображения объекта (ORM) междатабазы.
- Redis3m: Encapsulator Hieldis с использованием чистого интерфейса C ++, поддерживающих тегов и готовых шаблонов.
- Rocksdb: Быстрое хранение значений встроенных ключей из Facebook.
- SIMDB: Высокая производительность, общая память, без блокировки, кроссплатформенное, одно файл, минимальная зависимость C ++ 11 хранилище ключей.
- SOCI: C ++ База данных.
- SQLite: полностью встроенная, полностью функциональная реляционная база данных с всего лишь нескольких сотен кб, которые могут быть правильно включены в ваш проект.
- SQLITEC ++: SQLITEC ++ (SQLITECPP) - это умная и простая в использовании обертки C ++ SQLITE3.
- SQLITE_MODERN_CPP: обертка C ++ 14 библиотеки SQLITE, только файлы заголовков.
- SQLITE_ORM: SQLITE ORM Легкая библиотека для современного C ++, только с файлами заголовков.
- SQLPP11: встроенный встроенный домен язык для встроенного домена для запросов SQL и получение результатов в C ++.
- TILEDB: быстро плотный и редкий многомерный массив СУБД.
- Unqlite: автономный, без серверной нулевой конфигурации двигатель NOSQL на основе NOSQL.
- upscaledb: встроенный магазин «typed» клавиш со встроенным интерфейсом запроса.
отлаживать
Отладка библиотеки, обнаружение утечки памяти и ресурсов, модульное тестирование
- Backward-Cpp: Cakeble Stack Printer на C ++.
- Конфликт: небольшая библиотека поддержки микроэлементов, предоставленная Google.
- Boost.test: Boost Test Library.
- Проверка: Структура модульного тестирования C.
- Doctest: самая легкая структура тестирования для одного файла заголовка C ++.
- Поймать: очень стильная, нативная структура C ++, которая содержит только файлы заголовков для модульного тестирования, разработки, управляемой тестированием и разработки, управляемой поведением.
- Catch2: очень стильная, нативная структура C ++, которая содержит только файлы заголовков для модульного тестирования, разработки на основе тестирования и разработки, управляемой поведением.
- Celero: C ++ Benchmarking Framework.
- CPPUtest: C/C ++ Единоводные тестирование и смешивание.
- Симпатичный: проще C ++ Единое тестирование.
- CMocka: a Unit Testsing Framework, которая поддерживает фиктивные объекты.
- CPPUNIT: структура тестирования C ++, портированная JUNIT.
- Ctest: Cmake Test Driver.
- DBG-MACRO: C ++ DBG (…) макрос.
- DeLeaker: Инструменты для проверки утечки ресурсов, включая память, GDI и утечки обработки.
- FFF: Создайте микропрофликту для функций Pseudo-C.
- Google Mock: библиотека для написания и использования макетных классов C ++.
- Тест Google: Google C ++ Структура тестирования.
- Ig-Debugheap: многоплатформенная куча отладки для отслеживания ошибок памяти.
- Libtap: Напишите тесты на языке C.
- Memtrack: используется для отслеживания распределения памяти в C ++.
- Микропрофиль: кроссплатформенный сетевой вид. Анализатор.
- Minunit: самая маленькая модульная тестовая структура, написанная в C, включенную в один файл заголовка.
- Макетера: плагин CDT Eclipse для строчек C ++ и насмешливых объектов.
- Нанотимер: простой, низкий накладной, кроссплатформенный класс таймера для бенчмаркинга.
- NONIUS: C ++ Microbenchmarking Framework.
- Отдавливаемое: один анализатор файла C для просмотров веб -сайтов.
- UNITTEST ++: Легкая структура модульного тестирования C ++.
- Единство: простые модульные тесты для C.
- utest.h: Одному заголовочную структуру тестирования файлов для C и C ++.
- μT: C ++ 20 Одногоральный файл/отдельный модуль, μ (микро)/единичный тестирование без макросов.
- VLD: счетчик утечки Microsoft, бесплатная, надежная система обнаружения утечки памяти с открытым исходным кодом для Visual C ++.
Шрифт
Библиотека для анализа и обработки файлов шрифтов.
- FontConfig: конфигурация шрифта и пользовательская библиотека.
- Freetype: бесплатная, доступная библиотека программного обеспечения для рендеринга шрифтов.
- OTFCC: C Библиотека и утилита для анализа и написания файлов шрифтов OpenType.
Игровой двигатель
- Кислота: высокоскоростной C ++ 17 Vulkan Game Game Engine.
- ALLEGRO: кроссплатформенная библиотека, в основном используемая для видеоигр и мультимедийного программирования.
- Cocos2d-X: многоплатформенная структура для создания 2D-игр, интерактивных книг, демонстраций и других графических приложений.
- CORANGE: игровой двигатель, написанный в Pure C, SDL и OpenGL.
- Crown: Crown-это универсальный игровой двигатель, управляемый данными, написанный с нуля с использованием ортодоксального C ++ с учетом минималистских и ориентированных на данные концепции дизайна.
- Delta3D: надежная платформа моделирования.
- ENTT: столкновение между играми и современным C ++.
- Геймплей: кроссплатформенный нативный игровой фреймворк C ++ для создания 2D/3D мобильных и настольных игр.
- Годо: Полностью функциональный, с открытым исходным кодом, лицензированный игровой двигатель MIT.
- GRIT: Community Project для создания бесплатного игрового двигателя, который позволяет Open World 3D -игры.
- Halley: легкий игровой двигатель, написанный в C ++ 14 с «реальной» физической компонентной системой.
- Klayge: кроссплатформенный игровой двигатель с открытым исходным кодом на основе плагин-архитектуры.
- NCINE: кроссплатформенный 2D-игровой двигатель, который фокусируется на производительности, написанный в C ++ 11, и вы также можете написать сценарии с помощью LUA.
- OpenXray: модифицированный сообществом рентгеновский двигатель, используемый в серии Game Stalker.
- Оксигигин: кроссплатформенный 2D C ++ Game Engine.
- PANDA3D: Game Engine, структура 3D -рендеринга и разработка игр программ Python и C ++.
- PixelgameEngine: официальный выпуск OlcpixelgameEngine, инструмент для видео и проектов YouTube для Javidx9.
- Поликод: фреймворк с открытым исходным кодом, реализованная в C ++ (связанном с LUA) для создания игр.
- Raylib: Простая, легкая в использовании библиотеку для удовольствия от программирования видеоигр.
- Весна: мощный, бесплатный, кроссплатформенный игровой двигатель RTS.
- Torque2d: открытый исходный код, кроссплатформенный двигатель C ++, созданный для разработки 2D-игры.
- Torte3d: двигатель C ++ с открытым исходным кодом, созданный для разработки 3D -игры.
- Toy Engine: Toy - это легкий модульный игровой двигатель C ++, который обеспечивает простые, выразительные идиомы C ++ для быстрого итерации проектирования полностью функциональных 2D и 3D игр.
- URHO3D: Бесплатный, легкий, кроссплатформенный 2D и 3D Game Engine, реализованный C ++, был сильно вдохновлен OGRE и ORDE3D.
Графический пользовательский интерфейс
Графический пользовательский интерфейс
- Боден: родной, мобильный, кроссплатформенный графический интерфейс.
- CEGUI: Гибкая кроссплатформенная библиотека GUI.
- Элементы: легкая, мелкозернистая, независимая от разрешения библиотека GUI.
- FLTK: Быстрый, легкий кроссплатформенный инструментарий C ++.
- GACUI: пользовательский интерфейс C ++ с GPU с ускорением GPU с инструментами разработки WYSIWYG, поддерживает XML и обладает встроенным связыванием данных и возможностями MVVM.
- GTK+: многоплатформенный инструментарий для создания графических пользовательских интерфейсов.
- GTKMM: официальный интерфейс C ++ для популярной библиотеки GTK+.
- IMGUI: графический пользовательский интерфейс режима в реальном времени с минимальными зависимостями.
- IMPOT: Управление рисованием режима Imgui в реальном времени.
- IUP: многоплатформенный инструментарий для создания графических пользовательских интерфейсов.
- Libui: простая, портативная (но негибкая) библиотека графического интерфейса в C, использующая нативную технологию GUI для каждой платформы, которую она поддерживает.
- Mygui: Быстрый, гибкий, простой графический интерфейс.
- Нана: Нана-это кроссплатформенная библиотека для современного программирования графического интерфейса в стиле C ++.
- Nanogui: минималистская, кроссплатформенная библиотека управления для OpenGL 3.x, а затем.
- Nuklear: ANSI C GUI Library для единичных файлов заголовков.
- QCustOmplot: QT управление чертежом без большей зависимости.
- QWT: QT Control для пользователей и технологических приложений.
- QWTPLOT3D: библиотека программирования C ++, богатая функциями, на основе QT/OpenGL, по существу, предоставляя группу 3D-элементов управления.
- RMLUI: развивая библиотека пользовательских интерфейсов HTML/CSS, ветвь Librocket.
- SCITER: Sciter - это встраиваемый якорный двигатель HTML/CSS/сценариев, предназначенный для использования в уровне пользовательского интерфейса современных настольных приложений.
- WXWIDGETS C ++ Library, которая позволяет разработчикам использовать базу кода для создания приложений для вдов, Mac OS X, Linux и других платформ.
- YUE: Создайте библиотеку для собственных кроссплатформенных приложений GUI.
Графика
- ASSIMP: Библиотека импорта открытых активов (ASSIMP)-это кроссплатформенная библиотека импорта 3D-модели, предназначенную для предоставления общего API для различных форматов файлов 3D активов.
- BGFX: библиотека кроссплатформенного рендеринга.
- BLEND2D: 2D -векторный графический двигатель, работающий на компиляторе JIT.
- BS :: Framework: современная библиотека C ++ 14 для разработки графических приложений в реальном времени.
- Каир: 2D -графическая библиотека, которая поддерживает несколько выводительных устройств.
- C-Turtle: библиотека графики C ++ 11, которая действует как обертка CLMG, только с файлами заголовков.
- Сможечный двигатель: современная кроссплатформенная, низкоуровневая 3D-графическая библиотека.
- DirectXTK: сбор классов помощи, используемый для написания кода DirectX 11.x в C ++.
- GLFW: Простая, кроссплатформенная библиотека обработки OpenGL.
- Herebedragons: базовые 3D -сцены, реализованные с использованием различных двигателей, структур или API.
- ORDE3D Небольшой 3D -рендеринг и анимационный двигатель.
- Ион: небольшая и эффективная коллекция библиотек для создания кроссплатформенных приложений клиента или сервера с использованием 3D-графики.
- Irrlicht: высокопроизводительный 3D-двигатель в реальном времени, написанный в C ++.
- Libigl: Простая библиотека обработки геометрии C ++.
- LLGL: Графическая библиотека низкого уровня (LLGL) - это тонкий слой абстракции для современной графики API.
- Magnum: легкий и модульный C ++ 11/C ++ 14 Графическая промежуточная программа для игр и визуализации данных.
- NANOVG: библиотека с анти-альцами 2D-векторной графики на вершине OpenGL для пользовательского интерфейса и визуализации.
- OGRE 3D: ориентированный на сцену, гибкий двигатель 3D-рендеринга в режиме реального времени (не игровой двигатель), написанный в C ++.
- OpenSceneGraph: инструментарий OpenSceneGraph с высокой производительностью.
- OpenSubdiv: библиотека Pixar для оценки и рендеринга сегментированных поверхностей на процессоре и графическом процессоре.
- OpenVDB: библиотека и инструмент для хранения, редактирования и рендеринга баз данных.
- PANDA3D: структура для 3D рендеринга и разработки игры, написанная на Python и C ++.
- Partio: библиотека для обработки данных частиц, поддерживающая наиболее распространенные формы файлов.
- SKIA Полная двухмерная графическая библиотека для текста рисования, графики и изображений.
- TinySpline: небольшая, но мощная библиотека ANSI C для различий, преобразования и запроса произвольных NURBS, B-сплайновых функций и кривых SOSEL.
- Urho3d кросс-платформенный рендеринг и игровой двигатель.
- YOCTO/GL: миниатюрная библиотека C ++ на основе физической графики для управляемой данными.
Обработка изображений
- Boost.gil: Universal Image Library.
- CIMG: небольшой инструментарий с открытым исходным кодом C ++ для обработки изображений.
- Cximage: библиотека обработки изображений и преобразования для загрузки, сохранения, отображения и преобразования.
- DLIB: Modern C ++ 11 машинное обучение, компьютерное зрение, численная оптимизация и инструментарий глубокого обучения.
- Freeimage: библиотека с открытым исходным кодом, которая поддерживает общие форматы изображений и другие форматы, необходимые для мультимедийных приложений сейчас.
- GD: GD Graphics Library, знаменитая графикой загрузкой/эксплуатации и генерации миниатюр в PHP.
- DCMTK: Dicom Toolkit.
- GDCM: массовая библиотека Dicom.
- ITK: кроссплатформенная система анализа изображений с открытым исходным кодом.
- Leptonica: Leptonica是一个包含软件的开源库,其广泛应用于图像处理和图形分析应用程序。
- libfacedetection: 用于图像中人脸检测的开源库,其人脸检测的速度能达到1500FPS。
- libjpeg-turbo: 使用SIMD指令来加速基线JPEG编码和解码的JPEG图像编解码器。
- libvips: 具有低内存需求的快速图像处理库。
- Magick++: ImageMagick程序的C++接口。
- MagickWnd: ImageMagick程序的C++接口。
- OpenCV: 开源计算机视觉类库。
- OpenEXR: 具有高动态范围成像的跨平台库。
- OpenImageIO: 强大的图像和纹理处理库,支持多种常见的有损和RAW格式。
- Simd: 使用SIMD的C++图像处理库: SSE,SSE2,SSE3,SSSE3,SSE4.1,SSE4.2,AVX,AVX2,AVX-512,VMX(Altivec)和VSX(Power7),NEON for ARM。
- stb-image: STB单个头文件的图像加载库。
- tesseract-ocr: OCR引擎。
- TinyEXIF: 用于JPEG的微型ISO兼容的C++ EXIF和XMP解析库。
- Video++: C++ 14高性能的视频和图像处理库。
- VIGRA: 用于图像分析通用C++计算机视觉库。
- VTK: 用于3D计算机图形学,图像处理和可视化的开源免费软件系统。
国际化
- gettext: GNU `gettext'。
- IBM ICU: 提供Unicode 和全球化支持的C、C++ 和Java库。
- libiconv: 用于不同字符编码之间的编码转换库。
- utf8.h: C和C++的单个头文件的utf8字符串函数。
- utf8proc: 干净的C库,用于处理UTF-8 Unicode数据。
进程间通信
- Apache Thrift: 高效的跨语言IPC/RPC,可在C++、Java、Python、PHP、C#和许多其它语言之间运行。最初是由Facebook开发。
- Cap'n Proto: 快速的数据交换格式和基于功能的RPC系统。
- eCAL: 发布/订阅,客户端/服务器,C++/Python/C#,各种消息协议(protobuf, capnproto ..)。
- gRPC: 高性能、开源、通用的RPC框架。
- Ice: 全面的RPC框架,支持C++、C#、Java、JavaScript、Python等。
- libjson-rpc-cpp: 用于C++服务器和客户端的JSON-RPC框架。
- nanomsg: 好几个“可扩展协议”的简单高性能实现。
- nng: nanomsg的下一代,轻量级、无代理消息的传递库。
- rpclib: 现代C++的msgpack-RPC服务器和客户端库。
- simple-rpc-cpp: C / C++函数的简单RPC封装生成器。
- WAMP: 提供RPC和发布/订阅消息传递模式。(各种实现,各种语言)
- xmlrpc-c: 基于XML和HTTP的轻量级RPC库。
Json
- Boost.PropertyTree: 属性树解析器/生成器,可用于解析XML / JSON / INI / Info文件。
- cJSON: ANSI C的超轻量级JSON解析器。
- frozen: C/C++的Json解析生成器。
- Jansson: 进行编解码和处理Json数据的C语言库。
- jbson: C++14中构建和迭代BSON data和Json 文档的库。
- JeayeSON: 非常健全的C++ JSON库,只包含头文件。
- Jsmn: C语言中的简约JSON解析器。
- json: 用于现代C++的JSON。
- JSON++: C++的JSON 解析器。
- json.h: 在C和C++中解析JSON的简单的单头文件/单源文件的解决方案。
- json-c: C中的JSON实现。
- jsoncons: 使用JSONPointer、JSONPatch、JSONPath和JMESPath的JSON和类似JSON二进制格式的C++库,只有头文件。
- JsonCpp: 可与JSON交互的C++库。
- json-parser: 用可移植的ANSI C编写的JSON解析器,占用内存非常少。
- json11: 一个迷你的C++11 JSON库。
- json-voorhees: C++的JSON库。支持C++ 11,无依赖关系,快速且对开发人员友好。
- jute: 非常简单的C++ JSON解析器。
- ibjson: C语言中的JSON解析和打印库,很容易和任何模型集成。 Полем
- libjson: 轻量级的JSON库。
- LIBUCL: 通用配置库解析器。
- parson: 用C编写的轻量级的JSON库。
- PicoJSON: C++中JSON解析序列化,只包含头文件。
- qt-json: 用于JSON数据和QVariant层次间的相互解析的简单类。
- QJson: 将JSON数据映射到QVariant对象的基于Qt的库。
- RapidJSON: 用于C++的快速JSON 解析生成器,包含SAX和DOM两种风格的API。
- sajson: 用于C++ 11的轻量级、高性能的JSON解析器。
- simdjson: 极快的JSON库,可以千兆字节每秒的速度解析JSON。
- taoJSON: 零依赖的C++JSON库,只包含头文件。
- ujson: µjson是一个小型、C++ 11、UTF-8、JSON的库。
- YAJL: C语言中快速流JSON解析库。
бревно
- Blackhole: 基于属性的日志框架,旨在快速、模块化和高度可定制。
- Boost.Log: 设计非常模块化,并且具有扩展性。
- Easylogging++: 适用于C++ 11(或更高版本)应用程序的超轻量级、高性能的日志库。
- G3log: 具有动态接收模块的异步记录器。
- glog: Google日志模块的C++实现。
- Log4cpp: C++类库,用于灵活地添加日志到文件,系统日志,IDSA和其他地方。
- log4cplus: 易于使用的C++日志API,可提供对日志管理和配置的线程安全、灵活且任意粒度的控制。
- loguru: 轻量级的C++日志库。
- plog: C++可移植且简单的日志,少于1000行代码。
- reckless: C++低延迟、高吞吐量、异步的日志库。
- spdlog: 超级快的C++日志库,只包含头文件。
- templog: 小型、轻量级的C++ 库,可以添加日志到你的C++应用程序中。
- P7Baical: 开源、跨平台的库,用于在最小限度使用CPU和内存的情况下高速发送遥测和跟踪数据。
- Quill: 异步、跨平台、低时延的日志库。
Машинное обучение
- Caffe: 快速的神经网络框架。
- CCV: 基于C /缓存/核心的计算机视觉库,现代计算机视觉库。
- darknet: 用C和CUDA编写的开源神经网络框架。
- Dlib: 现代C++ 11的机器学习、计算机视觉、数值优化和深度学习的工具包。
- Fido: 用于嵌入式电子和机器人技术的高度模块化的C++机器学习库。
- flashlight: 来自Facebook AI研究中心的快速、灵活的机器学习库,其完全用C++编写,基于ArrayFire张量库。
- libsvm: 支持向量机的简单、易用、高效的库。
- MeTA: 现代C++的数据科学工具包。
- Minerva: 快速、灵活的深度学习系统。
- mlpack: 可扩展的C++机器学习库。
- OpenCV: 开源计算机视觉库。
- Recommender: 使用协同过滤进行产品推荐/建议的C语言库。
- RNNLIB: RNNLIB是用于序列学习问题的递归神经网络库。
- SHOGUN: Shogun 机器学习工具。
- sofia-ml: 用于机器学习的快速增量算法套件。
- VLFeat: VLFeat开源库实现了流行的计算机视觉算法,这些算法专门用于图像理解以及局部特征提取和匹配。
- xgboost: 用于Python、R、Java、Scala、C++等的可扩展、便携式和分布式梯度增强(GBDT,GBRT或GBM)的库。在单机、Hadoop、Spark、Flink和DataFlow上运行。
математика
- Apophenia: 用于统计和科学计算的C库。
- Armadillo: 用于线性代数和科学计算的快速C++库。
- autodiff: 用于自动微分的现代、快速且富有表现力的C++库。
- blaze: 高性能的C++数学库,用于密集和稀疏算法。
- Boost.Multiprecision: 在C++中提供更高范围/精度的整数、有理数和浮点数类型,只包含头文件或者在GMP / MPFR / LibTomMath后端。
- ceres-solver: 来自谷歌的C++库,用于建模和解决大型复杂非线性最小平方问题。
- CGAL: 高效,可靠的几何算法集合。
- cml: 用于游戏和图形的免费C++数学库。
- Dlib: 现代C++11的机器学习、计算机视觉、数值优化和深度学习工具包。
- Eigen: 高级C++模板头文件库,包括线性代数,矩阵,向量操作,数值解决和其他相关的算法。
- ExprTK: C++数学表达式工具包库(ExprTk)是一个易于使用、易于集成且非常高效的运行时数学表达式解析器和评估引擎。
- Geometric Tools: 用于数学、图形、图像分析和物理学领域计算的C++库。
- GLM: 只包含头文件的C++数学库,可与OpenGL的GLSL数学匹配并互操作。
- GMTL: 数学图形模板库是一组广泛实现基本图形的工具。
- GMP: 用于个高精度计算的C/C++库,处理有符号整数,有理数和浮点数。
- Klein: 快速、SIMD优化的C++ 17几何代数库,用于点、线和平面投影、相交、连接、刚体运动等。
- linalg.h: C++的单头文件、公共域、短向量数学库。
- MIRACL: 多精度整数和有理数算法加密库。
- muparser: muParser是用C++编写的可扩展、高性能的数学表达式解析库。
- LibTomMath: 完全用C编写的免费、开源、可移植的数论多精度整数库。
- linmath.h: 精益线性数学库,主要用于图形编程。
- lp_solve: 用于制定和解决线性编程问题的库。
- OpenBLAS: 基于GotoBLAS2 1.13 BSD版本的优化BLAS库。
- QuantLibv: 用于计量金融的免费/开源库。
- StatsLib: 统计分布函数的C++库,只包含头文件。
- SymEngine: 快速符号处理库,用C++重写了SymPy的核心。
- TinyExpr: 用于解析和评估字符串中的数学表达式的C库。
- Vc: C++的SIMD矢量类。
- Versor: (快速的)几何代数的通用C++库,包括欧几里得、投影,保角、时空等。
- Wykobi: 高效、健壮且易于使用的C++库,面向C++ 2D / 3D的计算几何例程。
- xtensor: 受NumPy语法启发的C++ 14库,用于使用多维数组表达式进行数值分析。
- universal: 只包含头文件的C++ 14库,实现任意假定算数。假定数值系统是一个锥形浮点,比IEEE浮点更有效。假定数使可复现的计算科学成为可能。
内存分配
- Boehm GC: C和C++的保守的垃圾回收器。
- C Smart Pointers: (GNU)C编程语言的智能指针。
- Hoard: 快速、可扩展和节约内存的Malloc,支持Linux、Windows和Mac。
- jemalloc: 通用的malloc(3)实现,强调避免存储碎片和可扩展的并发支持。
- memory: 兼容STL的C++内存分配器库。
- memory-allocators: 自定义内存分配器,可提高动态内存分配的性能。
- mimalloc: 具有出色性能的紧凑型通用分配器。
- tgc: 用~500 LOC编写的C语言微型垃圾回收器。
多媒体
- GStreamer: 构建媒体处理组件图形的库。
- libass: ASS / SSA字幕格式的便携式字幕渲染器。
- libass: 处理多媒体内容(例如音频、视频、字幕和相关元数据)的库和工具的集合。
- LIVE555 Streaming Media: 使用开放标准协议(RTP/RTCP, RTSP, SIP) 的多媒体流库。
- libVLC: libVLC (VLC SDK)媒体框架。
- MediaInfoLib: 用于视频和音频文件中最相关的技术和标签数据的方便统一显示。
- QtAv: 基于Qt和FFmpeg的多媒体播放框架,能够帮助你轻而易举地编写出一个播放器。
- SDL: 简单直控媒体层。
- SFML: 快速,简单的多媒体库。
- TagLib: 用于读取和编辑几种流行音频格式的元数据的库。
сеть
- ACE: C++面向对象网络编程工具包。
- Boost.Asio: 用于网络和底层I/O编程的跨平台的C++库。
- Boost.Beast: 在C++ 11中基于Boost.Asio构建的HTTP和WebSocket。
- Breep: 基于事件的高级C++ 14点对点库。
- C++ REST SDK: C++ REST SDK(以前称为Casablanca)。
- Restbed: C++ 11异步RESTful框架。
- Restinio: 只有头文件的C++ 14库,为您提供嵌入式HTTP / Websocket服务器。
- c-ares: 用于异步DNS请求的C库。
- cpp-httplib: 单文件的C++ 11 HTTP / HTTPS服务器库,只包含头文件。
- cpp-netlib: 高级网络编程的开源库集合。
- cpp-netlib/uri: C++的URI解析器/生成器库,与RFC 3986和RFC 3987兼容。
- cpr: 现代C++ HTTP请求库,具有简单但功能强大的接口。模仿Python Requests模块。
- curlcpp: CURL(libcurl)的面向对象C++封装器。
- DPDK: 用于快速打包处理的数据平面开发工具、库和驱动程序。
- Dyad.c: C的异步网络。
- ENet: 可靠的UDP网络库。
- evpp: 具有TCP / UDP / HTTP协议的C++高性能网络。
- H2O: 优化的HTTP服务器,支持HTTP / 1.x和HTTP / 2。它也可以用作库。
- HTTP Parser: C的http请求/响应解析器。
- KCP: 快速、可靠的ARQ协议,可帮助应用程序减少网络延迟。
- libcurl: 多协议文件传输库。
- libhttpserver: 用于创建嵌入式Rest HTTP服务器(以及更多)的C++库。
- Libmicrohttpd: GNU libmicrohttpd是一个小型C库,可以轻松地将HTTP服务器作为另一个应用程序的一部分运行。
- libpcap: 用于网络流量捕获的可移植C / C++库。
- libquic: 从Chromium的QUIC实现中提取的QUIC协议库。
- librdkafka: 用于C和C++的Apache Kafka客户端库。
- libwebsockets: 提供客户端和服务器库的轻量级纯C WebSocket实现。
- lwIP: 轻量级TCP / IP堆栈。
- Mongoose :非常轻量级的网络服务器。
- MQTT-C: 适用于嵌入式系统和类PC机的便携式MQTT C客户端。
- mTCP: 用于多核系统的高度可扩展的用户级TCP堆栈。
- Muduo: 用于Linux多线程服务器的C++非阻塞网络库。
- nghttp2: HTTP / 2 C库。
- Onion: C语言HTTP服务器库,其设计为轻量级,易使用。
- PF_RING™: 高速打包处理框架。
- PicoHTTPParser: 微小、原始、快速的HTTP请求/响应解析器。
- POCO: 用于构建网络和基于互联网应用程序的C++类库,可以运行在桌面,服务器,移动和嵌入式系统。
- Proxygen: Facebook的C++ HTTP库集合,包括易于使用的HTTP服务器。
- RakNet: 为游戏开发人员提供的跨平台的开源C++网络引擎。
- restclient-cpp: 用于C++的简单REST客户端。它包装libcurl用于HTTP请求。
- Seasocks: 具有WebSockets支持的简单、小型的C++嵌入式Web服务器。
- Silicon: 高性能、面向中间件的C++ 14 http Web框架。
- tlse: 单个C文件的TLS 1.2 / 1.3实现,使用tomcrypt作为加密库。
- Tufão: 基于Qt构建的C++异步Web框架。
- uriparser: 严格符合RFC 3986的URI解析和处理库。
- uWebSockets: µWS是最轻量级、高效和可伸缩的WebSocket和HTTP服务器的实现之一。
- WAFer: 基于C语言的超轻型软件平台,用于可扩展的服务器端和网络应用。为C程序员考虑了node.js。
- Wangle: 客户端/服务器应用程序框架,用于构建异步的、事件驱动的现代C++服务。
- wdt: 可嵌入式库(和命令行工具),旨在通过多个TCP路径尽可能快地在2个系统之间传输数据。
- WebSocket++: 基于C++/Boost Aiso的websocket 客户端/服务器库。
- PcapPlusPlus: 跨平台的C++网络嗅探以及数据包解析和构建的框架。
- ZeroMQ: 高速,模块化的异步通信库。
PDF
解析和处理PDF文档的库。
- libharu: 免费、跨平台、开源的软件库,用于生成PDF。
- litePDF: 创建和编辑PDF文档的库,它通过设备上下文使用GDI功能来绘制页面内容。
- MuPDF: 轻量级的PDF、XPS和电子书查看器。
- PoDoFo: 使用PDF文件格式的库。
- Poppler: 基于xpdf-3.0代码库的开源、多后端的PDF渲染库。
- Xpdf: Xpdf是一款免费的PDF查看器和工具包,包括文本提取器、图像转换器、HTML转换器等。
- DynaPDF: 易于使用的PDF生成库。
物理学
动力学仿真引擎
- Box2D: 2D的游戏物理引擎。
- Bullet: 3D的游戏物理引擎。
- Chipmunk: 快速、轻量级的2D游戏物理库。
- LiquidFun: 2D的游戏物理引擎。
- Newton Dynamics: 用于物理环境实时仿真的集成解决方案。
- ODE: 开放动力学引擎-开源,高性能库,模拟刚体动力学。
- ofxBox2d: Box2D开源框架包装器。
- PhysX: Nvidia开发的开源的实时物理引擎中间件SDK,作为Nvidia GameWorks软件套件的一部分。
- Project Chrono: 开源的多物理场仿真引擎。
- Quantum++: 现代的C++ 11量子计算库。
- Simbody: 高性能C++多体动力学/物理库,模拟关节生物力学和机械系统,像车辆,机器人和人体骨骼。
- SOFA: SOFA是一个针对实时仿真的开源框架,其着重于医学仿真。
Картирование
- Better Enums: 映射的枚举类型(字符串、迭代)。单个头文件。
- clReflect: 使用clang的C++映射。
- CPFG: 用于反射、回调和脚本绑定的C++ 03库。
- CPP-Reflection: 使用clang的C++映射。
- Magic Enum: 只包含头文件的的C++ 17库,为枚举类型(字符串、迭代)提供静态映射,可与任何枚举类型一起使用,无需任何宏或样板代码。
- magic_get: 类似std: : tuple的方法,用于用户定义类型,无需任何宏或样板代码。
- meta: C++的非侵入性且无宏的运行时映射系统,只包含头文件。
- Nameof: 只包含头文件的的C++ 17库,提供名称宏和函数以获取变量、类型、函数、宏和枚举的简单名称。
- Ponder: C++11的映射库。
- RTTR: C++11的映射库。
- visit_struct: C++中用于结构域映射的微型库。
Регулярные выражения
- CppVerbalExpressions: C++正则表达式专家。
- CTRE: 编译时PCRE(几乎)兼容的正则表达式匹配器。
- Hyperscan: Hyperscan是Intel的高性能、多种正则表达式匹配库,提供大量正则表达式(多达数万个)的同时匹配,通常在DPI库堆栈中使用。
- Oniguruma: 现代且灵活的正则表达式库,支持多种字符编码。
- PCRE: 受Perl中正则表达式功能启发的正则表达式C库。
- PIRE: Yandex的Perl不兼容正则表达式库,可以非常快(超过400 MB / s)。
- RE2: 使用自动机理论、通过有限状态机进行的正则表达式软件库。
- SLRE: 适用于C / C++的超轻正则表达式引擎。
- sregex: 基于NFA / DFA的Perl兼容的正则表达式引擎库,不可回溯,可与大型数据流进行匹配。
Робототехника
- MOOS-IvP: 一组开源C++模块,提供机器人平台的自主权,尤其是自主的海洋车辆。
- MRPT: 移动机器人编程工具包。
- PCL: 点云库是一个独立的,大规模的开放项目,用于2D/3D图像和点云处理。
- Robotics Library (RL): 一个独立的C++库,包括机器人动力学,运动规划和控制。
- RobWork: 一组C++库的集合,用于机器人系统的仿真和控制。
- ROS: 机器人操作系统,提供了一些库和工具帮助软件开发人员创建机器人应用程序。
科学计算
- AMGCL: 只包含头文件的C++库,用于解决具有代数多重网格的大型稀疏线性系统。
- FFTW: 用一维或者多维计算DFT的C语言库。
- GSL: GNU科学库。
- TileDB: 快速密集和稀疏多维数组的DBMS。
- Trilinos: 高性能的PDE解算器。
- Torch: 科学的计算框架,广泛支持将GPU放在首位的机器学习算法。
脚本
- AngelScript: AngelScript是一种面向游戏的解释/编译脚本语言。
- Boost.Python: 可实现C++和Python编程语言之间的无缝互操作性的C++库。
- cppimport: 直接从Python导入C++文件!
- CppSharp: 用于将C / C++ API融合到高级语言中的工具和库。
- ChaiScript: 用于C++的易于使用的嵌入式脚本语言。
- ctypes.sh: bash的外部函数接口。
- Cython: Cython是用于Python编程语言和扩展的Cython编程语言(基于Pyrex)的优化静态编译器。它使得为Python编写C扩展就像Python本身一样容易。
- djinni: 生成跨语言类型声明和接口绑定的工具。
- Duktape: 具有紧凑脚本的嵌入式Javascript引擎。
- JavaCpp: Java和本机C++之间缺少的桥梁。
- libffi: 可移植的外部功能接口库。
- Lua: 用于配置文件和基本应用程序脚本的小型快速脚本引擎。
- LuaBridge: 轻量级、无依赖的库,用于将Lua绑定到C++。
- luacxx: 用于创建Lua绑定的C++ 11 API。
- nbind: 神奇的头文件,使您的C++库可从JavaScript进行访问。
- PHP-CPP: 使用C++构建PHP扩展的库。
- pybind11: C++ 11和Python之间的无缝可操作性。
- SIP: 用于Python v2和v3的C或C++绑定生成器。
- sol2: 具有高级功能和一流性能的C++ <-> Lua API封装器。
- SWIG: 一个可以让你的C++代码链接到JavaScript,Perl,PHP,Python,Tcl和Ruby的包装器/接口生成器。
- V7: 嵌入式的JavaScript 引擎。
- V8: 谷歌的快速JavaScript引擎,可以被嵌入到任何C++应用程序中。
- ChakraCore: Microsoft的JavaScript引擎,可以嵌入到nodejs中。
序列化
- Bitsery: 只包含头文件的C++二进制序列化库。
- Bond: 用于处理模式化数据的开源、跨平台框架。
- Boost.Serialization: Boost序列化库。
- Cap'n Proto: 快速数据交换格式和RPC系统。
- cereal: C++11 序列化库。
- cppcodec: 只包含头文件的C++ 11库,具有一致、灵活的API来编码/解码base64,base32和hex。
- FlatBuffers: 内存高效的序列化库。
- MessagePack: C/C++的高效二进制序列化库,例如JSON。
- mrpt-serialization: 已版本控制的二进制或文本格式的序列化。
- nanopb: ANSI C中的小型代码大小的协议缓冲区实现。
- protobuf: 协议缓冲,谷歌的数据交换格式。
- protobuf-c: C语言的协议缓冲实现。
- SimpleBinaryEncoding: 用于低延迟应用程序的对二进制格式的应用程序信息的编码和解码。
- upb: C中的小型静态库实现。
- YAS: 非常快的序列化库,支持二进制/文本/ JSON格式。
Сортировка
- pdqsort: 破坏模式的快速排序。
- Timsort: 模板化的稳定排序功能,其性能优于基于快速排序的算法(包括std: : sort),用于反向或半排序数据。
видео
- libvpx: VP8/VP9编码解码SDK。
- FFmpeg: 一个完整的,跨平台的解决方案,用于记录,转换视频和音频流。
- libde265: 开放的h.265视频编解码器的实现。
- x265: 开放的H.265视频编解码器实现。
- OpenH264: 开源H.364 编解码器。
- Theora: 免费开源的视频压缩格式。
- Vireo: Twitter的轻量级、多功能的视频处理库。
虚拟机
- CarpVM: C中有趣的VM,让我们一起来看看这个。
- MicroPython: 旨在实现单片机上Python3.x的实现。
- TinyVM: 用纯粹的ANSI C编写的小型,快速,轻量级的虚拟机。
Web应用框架
- Civetweb: 提供易于使用,强大的,C/C++嵌入式Web服务器,带有可选的CGI,SSL和Lua支持。
- C++ REST SDK: 使用现代异步C++ API设计、以本机代码进行基于云的客户端-服务器通信的Microsoft项目。
- CppCMS: 免费高性能的Web开发框架(不是CMS).。
- Crow: 一个C++微型web框架(灵感来自于Python Flask)。
- Cutelyst: 在Qt上构建的C++ Web框架,使用Catalyst(Perl)框架的简单方法。
- Drogon: 基于C++ 14/17的高性能HTTP应用程序框架。
- facil.io: 事件型、高性能的C Web框架,支持HTTP、WebSocket、SSE等。
- Kore: 使用C语言开发的用于web应用程序的超快速和灵活的web服务器/框架。
- libOnion: 轻量级的库,帮助你使用C编程语言创建web服务器。
- lwan: 实验性、可扩展的高性能HTTP服务器。
- oat++: 轻量、零依赖的框架,可创建高性能的Web服务。
- Pistache: Pistache是一个用纯C++ 11编写的C++ REST框架,没有外部依赖性。
- QDjango: 使用C++编写的,基于Qt库的web框架,试图效仿Django API,因此得此名。
- TreeFrog Framework: 基于C++和Qt的高速、全栈的Web应用程序框架,支持HTTP和WebSocket协议(带有O / R映射)。
- Wt: 开发Web应用的C++库。
XML
XML就是个垃圾,xml的解析很烦人,对于计算机它也是个灾难。这种糟糕的东西完全没有存在的理由了。-Linus Torvalds
- Boost.PropertyTree: 属性树解析器/生成器,可用于解析XML / JSON / INI / Info文件。
- Expat: 用C语言编写的xml解析库。
- Libxml2: Gnome的xml C解析器和工具包。
- libxml++: C++的xml解析器。
- Mini-XML: 用ANSI C编写的小型XML解析库。
- PugiXML: 用于C++的,支持XPath的轻量级,简单快速的XML解析器。
- RapidXml: 试图创建最快速的XML解析器,同时保持易用性,可移植性和合理的W3C兼容性。
- TinyXML: 简单小型的C++XML解析器,可以很容易地集成到其它项目中。
- TinyXML2: 简单快速的C++CML解析器,可以很容易集成到其它项目中。
- TinyXML++: TinyXML的一个全新的接口,使用了C++的许多许多优势,模板,异常和更好的异常处理。
- Xerces-C++: 用可移植的C++的子集编写的XML验证解析器。
多项混杂
一些有用的库或者工具,但是不适合上面的分类,或者还没有分类。
- access_profiler: 用于计算对c ++程序中成员变量的访问的工具。
- American fuzzy lop: aka afl-fuzz-疯狂的模糊测试工具,可在给定时间和最少示例输入的情况下自动发现错误。
- Better String: C字符串库的替代方法,它功能更强大,并且没有缓冲区溢出超限问题。还包括C++封装器。
- Boost.Signals: 托管信号和插槽系统的实现。
- CPPItertools: 受Python内建函数和itertools库启发的基于范围的循环附加组件。
- DynaMix: 允许您在运行时组成和修改对象的库。
- {fmt}: 小型、安全、快速的C++格式化库。
- FastFormat: 受log4j和Pantheios启发的快速、安全的C++格式化。
- C++ Format: C++的小型,安全和快速格式化库。
- casacore: 从aips++ 派生的一系列C++核心库。
- QtVerbalExpressions: 该Qt库基于C++ VerbalExpressions库。
- cxx-prettyprint: 用于C++容器的打印库。
- icecream-cpp: 用于调试目的的小型打印库。
- gcc-poison: 帮助开发人员禁止应用程序中的不安全的C/C++函数的简单的头文件。
- Kangaru: 用于C++ 11和C++ 14的依赖注入容器。
- Klib: 通用算法和数据结构的小型、轻量级实现。
- libsigc++: 用于标准C++的类型安全的回调系统。
- googlemock: 编写和使用C++模拟类的库。
- HTTP Parser: C的http请求/响应解析器。
- libcpuid: 用于x86 CPU检测盒特征提取的小型C库。
- libevil: 许可证管理器
- libnih: C函数和结构的轻量级库。
- libusb: 允许移动访问USB设备的通用USB库。
- Mach7: C++的模式匹配库。
- mio: 用于内存映射文件IO的跨平台C++ 11库,只包含头文件。
- PEGTL: 解析表达语法模板库。
- PCRE: 正则表达式C库,灵感来自于Perl中正则表达式的功能。
- Remote Call Framework: C++的进程间通信框架。
- Scintilla: 开源的代码编辑控件。
- Serial Communication Library: C++语言编写的跨平台,串口库。
- SDS: C的简单动态字符串库。
- semver.c: semver解析器,在ANSI C中呈现。
- Serial Communication Library: 跨平台,用C++编写的串行端口库。
- sigslot: C++信号/插槽库。
- SimpleSignal: 高性能C++ 11信号。
- Stage: 移动机器人模拟器。
- stdman: 格式化的C++ 11/14 stdlib手册页(来自cppreference)。
- stb: 一系列用于C / C++的单文件库。
- StrTk: 由高性能字符串处理例程组成的C++库。
- Tulip Indicators: 超过100种财务技术分析指标的C库。
- ub-canaries: 一组C / C++程序,它们试图使编译器开发未定义的行为。
- value-category-cheatsheet: 用于lvalue、rvalue等的PDF快捷键管理。
- VarTypes: C++/Qt4功能丰富,面向对象的管理变量的框架。
- ZBar: '条形码扫描器'库,可以扫描照片,图片和视频流中的条形码,并返回结果。
- ZXing: 用Java实现的开源、多格式1D / 2D条码图像处理库,带有其他语言的端口。
- pprint: 适用于现代C++的Pretty Printer。
программное обеспечение
用于创建开发环境的软件
Компилятор
C/C++编译器列表
- 8cc: 小型C编译器。
- c: 一次编译并执行C“脚本”!
- Clang: LLVM的C编译器,支持C++ 11/14 / 1z C11,由LLVM团队开发。
- GCC: GNU编译器集合,支持C++ 11/14 / 1z C11和OpenMP。
- PCC: 非常老的C编译器,支持C99。
- Intel C++ Compiler: 由英特尔公司开发。
- LLVM: 模块化和可重用编译器和工具链技术的集合。
- Microsoft Visual C++: MSVC,由微软公司开发。
- Open WatCom: Watcom,C,C++和Fortran交叉编译器和工具。
- Oracle Solaris Studio: 适用于SPARC和x86的C、C++和Fortran编译器,支持C++ 11 ,在Linux和Solaris上可用。
- TCC: 轻量级的C语言编译器。
在线编译器
在线C/C++编译器列表
- codepad: 在线编译器/解释器,一个简单的协作工具
- coliru: 在线编译器/ shell,支持各种C++编译器。
- Compiler Explorer: 具有编译输出的交互式编译器。
- CompileOnline: 在Linux上在线编译和执行C++。
- Ideone: 在线编译器和调试工具,可编译源代码并以60多种编程语言在线执行。
- repl.it: 针对教育者、学习者和开发人员的功能强大而简单的工具和平台。
- Rextester: 在线编译器,提供几个编译器(Clang,GCC,MSVC)和几个编辑器。
- Try It Online: TIO是一系列在线解释器,可用于越来越多的实用和休闲的编程语言。
- Wandbox: 具有Boost的在线Clang / GCC编译器。
- paiza.io: 具有多个文件支持功能、Github(gist)集成和协作编辑的在线C / C++编译器。
调试器
C/C++调试器列表
- Comparison of debuggers: 来自维基百科的调试器列表。
- GDB: GNU调试器。
- LLDB: LLDB调试器。
- Metashell: 交互式模板元程序设计,其中包括MDB metadebugger。
- Valgrind: 内存调试,内存泄露检测,性能分析工具。
- x64dbg: Windows的开源x64 / x32调试器。
集成开发环境
C/C++集成开发环境列表
- Anjuta DevStudio: GNOME IDE。
- AppCode: 构建与JetBrains' IntelliJ IDEA 平台上的用于Objective-C,C,C++,Java和Java开发的集成开发环境。
- Cevelop: 基于Eclipse CDT的跨平台C和C++ IDE,带有其他插件。
- CLion: 来自JetBrains的跨平台的C/C++的集成开发环境。
- Code::Blocks: 免费C,C++和Fortran的集成开发环境。
- CodeLite: 另一个跨平台的免费的C/C++集成开发环境。
- color_coded: 用于基于libclang的vim插件。
- Dev-C++: 可移植的C/C++/C++11集成开发环境。
- Eclipse CDT: 基于Eclipse平台的功能齐全的C和C++集成开发环境。
- Geany: 轻量级的快速,跨平台的集成开发环境。
- IBM VisualAge: 来自IBM的家庭计算机集成开发环境。
- Irony-mode: 由libclang驱动的用于Emacs的C/C++微模式。
- KDevelop: 免费开源集成开发环境。
- Microsoft Visual Studio: 来自微软的集成开发环境。
- Microsoft Visual Studio Code: Microsoft提供的开源IDE。
- NetBeans: 主要用于Java开发的的集成开发环境,也支持其他语言,尤其是PHP,C/C++和HTML5。
- Qt Creator: 跨平台的C++,Javascript和QML集成开发环境,也是Qt SDK的一部分。
- rtags: C/C++的客户端服务器索引,用于跟基于clang的emacs的集成。
- Xcode: 由苹果公司开发。
- YouCompleteMe: 一个用于Vim的根据你敲的代码快速模糊搜索并进行代码补全的引擎。
- cquery: 用于vscode,emacs,vim等的C++代码完成引擎。
构建系统
- Bazel: Google提供的多语言、快速且可扩展的构建系统。
- Bear: 用于为clang工具生成编译数据库的工具。
- Buck: 用Java编写的快速构建系统,可鼓励在多种平台和语言(包括在Facebook开发和使用的C++)上创建小型、可重用模块。
- clib: C语言的软件包管理器。
- Biicode: 基于文件的简单依赖管理器。
- CMake: 跨平台的免费开源软件用于管理软件使用独立编译的方法进行构建的过程。
- Cget: Cmake软件包检索。
- Conan: C / C++程序包管理器,开源的。
- CPM: 基于CMake和Git的C++包管理器。
- FASTBuild: 高性能,开源的构建系统,支持高度可扩展性的编译,缓冲和网络分布。
- Hunter: CMake驱动的C++跨平台软件包管理器。
- MesonBuild: 开源构建系统,它意味着不仅要非常快,而且更重要的是要尽可能地方便用户使用。
- Ninja: 专注于速度的小型构建系统。
- Scons: 使用Python scipt 配置的软件构建工具。
- Sconsolidator: 用于Eclipse CDT的Scons构建系统集成。
- Spack: 灵活的软件包管理器,支持多个版本、配置、平台和编译器。
- SW: 跨平台的C++(和其他语言)构建系统和程序包管理器,其中包含许多可用程序包。
- tundra: 高性能的代码构建系统,甚至对于非常大型的软件项目,也能提供最好的增量构建次数。
- tup: 基于文件的构建系统,用于后台监控变化的文件。
- Premake: 配置有Lua脚本的工具,可以在Windows、Mac OS X和Linux上为Visual Studio、GNU Make、Xcode、Code::Blocks等生成项目文件。
- Vcpkg: Windows,Linux和MacOS的C++库管理器。
- waf: 用于配置、编译和安装应用程序的基于Python的框架。
- XMake: 基于Lua的C / C++的跨平台构建实用程序。
Анализ статического кода
提高质量,减少瑕疵的代码分析工具列表
- Cppcheck: 静态C/C++代码分析工具
- CppDepend: 通过分析和可视化代码依赖关系,定义设计规则,进行影响分析以及比较不同版本的代码,简化了对复杂C / C++代码库的管理。
- cpplint: 遵循Google C++样式指南的C++样式检查器。
- PVS-Studio: 用C、C++和C#编写的在程序源代码中进行bug检测的工具。
- cpp-dependencies: 检查C++ #include依赖关系的工具(以.dot格式创建的依赖关系图)。
- include-what-you-use: 使用clang进行代码分析的工具,可以#include在C和C++文件中。
- Infer: 用于Java、C和Objective-C的静态分析器。
- OCLint: 用于C、C++和Objective-C的静态源代码分析工具,用于提高质量,减少瑕疵。
- Clang Static Analyzer: 查找C、C++和Objective-C程序bug的源代码分析工具。
- Linticator: Pc-/FlexeLint的Eclipse CDT集成。
- IKOS: 基于抽象解释理论的C / C++静态分析器。
- List of tools for static code analysis: 来自维基百科的静态代码分析工具列表。
编码样式工具
- Artistic Style: 格式化C / C++ / C#/ Obj-C / Java代码的工具。也称为astyle。
- ClangFormat: 格式化C / C++ / Obj-C代码的工具。
- Clang-Tidy: 基于Clang的C++ linter工具。
- EditorConfig: EditorConfig帮助在不同的编辑器和IDE之间维护一致的编码样式
- Uncrustify: 代码美化器。