C ++ 리소스 컬렉션 중국어 버전
Awesome-CPP는 표준 라이브러리, 웹 응용 프로그램 프레임 워크, 인공 지능, 데이터베이스, 이미지 처리, 기계 학습, 로깅, 코드 분석 등을 포함하여 fffaraz 시작하고 유지 관리하는 C ++ 리소스 목록입니다.
중국어 버전은开源前哨와 CPP开发者공식 계정 팀에 의해 유지 4400 Star .
이 프로젝트의 참가자
관리자 :开源前哨및 CPP开发者Wechat Public Account Team. "오픈 소스 전반장"은 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 라이브러리 : POSIX 시스템의 C 표준 라이브러리 사양.
- ISO C ++ 표준위원회 : C ++ 표준위원회.
- GNU C 라이브러리 :이 매뉴얼의 목적은 GNU C 라이브러리 사용 방법을 보여주는 것입니다.
액자
C ++ 일반 프레임 워크 및 라이브러리
- Abseil-CPP : Abseil C ++ 일반 도서관.
- Apache C ++ 표준 라이브러리 : 알고리즘, 컨테이너, 반복자 및 기타 기본 구성 요소 모음입니다.
- APR : Apache 휴대용 런타임 라이브러리. 다른 크로스 플랫폼 라이브러리.
- ASL : Adobe 소스 코드 라이브러리는 동료 검토 및 휴대용 C ++ 소스 코드 라이브러리를 제공합니다.
- 부스트 : 수많은 범용 C ++ 라이브러리 모음.
- BDE : Bloomberg Information Lab의 개발 환경에서.
- Cinder : 전문적인 품질의 창의적 코딩을 제공하는 오픈 소스 개발 커뮤니티를 제공합니다.
- 공동 -C ++ Go 스타일의 코 루틴 라이브러리, 로그 라이브러리, JSON 라이브러리, RPC 프레임 워크 및 기타 기본 구성 요소를 포함한 기본 라이브러리.
- CXXOMFORT : 헤더 파일 만 포함하는 가벼운 라이브러리는 C ++ 11에서 C ++ 03의 새로운 기능을 포장합니다.
- DLIB : 계약 프로그래밍 및 최신 C ++ 기술을 사용하여 설계된 범용 크로스 플랫폼 C ++ 라이브러리.
- Eastl : EA-STL 공개 부분.
- ETL : 임베디드 템플릿 라이브러리.
- FFEAD-CPP : 엔터프라이즈 애플리케이션 개발 프레임 워크.
- Folly : Facebook에서 개발하고 사용하는 오픈 소스 C ++ 라이브러리.
- FunctionalPlus : C ++ 기능 프로그래밍 라이브러리, 간결하고 읽기 쉬운 C ++ 코드 작성.
- GLIB : GLIB는 C로 작성된 라이브러리 및 응용 프로그램에 대한 핵심 코드 블록을 제공합니다.
- Juce : 크로스 플랫폼 소프트웨어 개발을위한 올 인 클루 시브 C ++ 클래스 라이브러리.
- KIGS 프레임 워크 : C ++ 무료 및 오픈 소스 모듈 식, 다기능, 크로스 플랫폼 RAD 프레임 워크.
- Libphenom : 고성능 및 확장 가능한 시스템을 구축하기위한 이벤트 프레임 워크.
- Libsourcey : C ++ 11 실시간 비디오 스트리밍 및 고성능 네트워크 응용 프로그램을 위해 IO를 이벤트했습니다.
- Libu : C 언어로 작성된 다중 플랫폼 도구 라이브러리.
- Loki : 일반적인 디자인 패턴 및 관용구 구현을 포함하여 C ++ 라이브러리의 디자인.
- 밀리 : 헤더 파일 만 포함 된 작은 C ++ 라이브러리.
- OpenFrameworks : 창의적인 코딩을위한 C ++ 툴킷을 개발하십시오.
- QT : 크로스 플랫폼 응용 프로그램 및 사용자 인터페이스 프레임 워크.
- 이유 : 개발자가 Java, .NET 및 Python을보다 쉽게 사용할 수있게하는 동시에 C ++ 성능 및 장점에 대한 요구를 충족시킬 수있는 크로스 플랫폼 프레임 워크.
- 루트 : 많은 양의 데이터를 매우 효율적으로 처리하고 분석 할 수있는 모든 기능을 갖춘 일련의 객체 지향 프레임 워크.
- stlport : STL의 대표 버전입니다.
- STXXL : 추가 대형 데이터 세트를위한 표준 템플릿 라이브러리.
- Tbox : Glib와 유사한 다중 플랫폼 C 라이브러리.
- Ultimate ++ : C ++ 크로스 플랫폼 빠른 응용 프로그램 개발 프레임 워크.
- USTL : 작은 STL 라이브러리.
- Windows 템플릿 라이브러리 : Windows 응용 프로그램 및 UI 구성 요소를 개발하기위한 C ++ 라이브러리.
- YOM2 : 빠르고 직교, 열린 다중 방법, YOM11을 대체합니다.
일체 포함
- Annetgpgpu : GPU (CUDA) 기반 인공 신경망 라이브러리.
- BTSK : 게임 행동 트리 런처 도구.
- 진화하는 개체 : 템플릿 기반 ANSI C ++ Evolution Computing Library는 자신의 임의 최적화 알고리즘을 매우 빠르게 작성하는 데 도움이 될 수 있습니다.
- Frugly-Deep : Keras 모델을 사용하여 C ++ 라이브러리, 헤더 파일 만 사용합니다.
- GENANN : 간단한 신경망 C 라이브러리.
- MXNET : 역동적 인 돌연변이 인식 데이터 흐름 관리 스케줄러를 갖춘 가벼운 휴대용, 유연한 분산/모바일 딥 러닝. Python, R, Julia, Scala, Go, JavaScript 등에 적합합니다.
- PYTORCH : 텐서 및 동적 신경망을 포함한 강력한 CPU 가속이있는 파이썬 라이브러리.
- Recast/Detour : (3D) 내비게이션 그리드 생성기 및 경로 검색, 주로 게임에 사용됩니다.
- Tensorflow : 숫자 계산을 위해 데이터 흐름 그래프를 사용하는 오픈 소스 소프트웨어 라이브러리.
- CNTK : 딥 러닝 도구의 오픈 소스 라이브러리 인 Microsoft Cognitive Toolkit (CNTK).
- Tiny-DNN : 헤더 파일 만있는 C ++ 11의 종속성이없는 딥 러닝 프레임 워크.
- Veles : 빠른 딥 러닝 애플리케이션 개발을위한 분산 플랫폼.
- Kaldi : 음성 인식 툴킷.
비동기 이벤트 루프
- ASIO : 최신 C ++ 방법을 사용하여 네트워킹 및 기본 I/O 프로그래밍을위한 크로스 플랫폼 C ++ 라이브러리는 개발자에게 일관된 비동기 모델을 제공합니다.
- boost.asio : 네트워킹 및 기본 I/O 프로그래밍을위한 크로스 플랫폼 C ++ 라이브러리.
- C ++ 액터 프레임 워크 : C ++에서 액터 모델의 오픈 소스 구현.
- Libev : 전체 기능을 갖춘 고성능 시간 루프, 약간 모방 된 libevent이지만 더 이상 libevent와 같은 제한이 없으며 일부 버그도 수정합니다.
- Libevent : 이벤트 알림 라이브러리.
- LIBHV : 크로스 플랫폼 이벤트 루프 라이브러리.
- libuv : 크로스 플랫폼 비동기 I/O.
- Promise-CPP : Promise/A+ 표준을 구현하는 라이브러리, 헤더 파일 만 있습니다.
- UVW : Libuv의 C ++ 캡슐화.
오디오
오디오, 사운드, 음악, 디지털 음악 라이브러리
- Audiofile : 오디오 파일을 읽고 쓰는 간단한 C ++ 라이브러리.
- FMOD : 오디오 컨텐츠를위한 크로스 플랫폼 오디오 엔진 및 게임 제작 도구를 사용하기 쉽습니다.
- KFR : 빠르고 최신 C ++ DSP 프레임 워크, FFT, FIR/IIR 필터 및 샘플 속도 변환.
- 절름발이 : Lame은 고품질 MPEG 오디오 세 번째 레이어 (MP3) 인코더입니다.
- libsndfile : C ++ 캡슐화 된 C 라이브러리는 표준 라이브러리 인터페이스를 통해 샘플링 된 사운드를 포함하는 파일을 읽고 쓰는 데 사용됩니다.
- Libsoundio : 크로스 플랫폼 실시간 오디오 입력 및 출력을위한 C 라이브러리.
- Maximilian : C ++ 오디오 및 음악 디지털 신호 처리 라이브러리.
- Openal : 오픈 소스 오디오 라이브러리 --- 크로스 플랫폼 오디오 API.
- MINIAUDIO : 단일 파일 오디오 재생 및 녹음을위한 도서관.
- OPUS : 완전히 개방적이고 로열티가없는 고도로 보편적 인 오디오 코덱.
- Portaudio : 무료, 크로스 플랫폼, 오픈 소스 오디오 I/O 라이브러리.
- SELA : 단순한 무손실 오디오.
- SOLOUD : 간단하고 휴대용 게임 오디오 엔진.
- Speex : Opus에 의해 폐기되는 무료 코덱.
- 토닉 : C ++ 사용하기 쉬우 며 효율적인 오디오 합성.
- Vorbis : Ogg Vorbis는 완전히 개방적이고 비 독점적이며 로열티가없는 보편적 압축 오디오 형식입니다.
- Minimp3 : 공개 도메인, 청정 실 구현 MP3 디코더, 헤더 파일 만.
- Verovio : 빠르고 가벼운 음악 라이브러리 음악 상징 조각.
- WAV2LETTER ++ : 공개 도메인, Arrayfire Tensor 라이브러리 및 손전등 기계 학습 라이브러리를 사용하여 C ++로 완전히 작성된 빠른 오픈 소스 음성 처리 라이브러리.
생태학
생물 정보학, 유전체학 및 생명 공학
BIOC ++ : 생물 정보학을위한 C ++ 컴퓨팅 라이브러리.
순결 : 생리학 및 생물학을 위해 개발 된 수학적 모델의 계산 시뮬레이션을위한 오픈 소스 C ++ 라이브러리.
libsequence : 인구 유전자 데이터를 나타내고 분석하기위한 C ++ 라이브러리.
Seqan : 생물학적 데이터 서열 분석에 중점을 둔 알고리즘 및 데이터 구조.
VCFLIB : VCF 파일을 구문 분석 및 처리하기위한 C ++ 라이브러리.
WHAM : BAM 파일의 유전자 구조 돌연변이에 직접 연관 테스트를 적용하십시오.
비트 스트림
- JECH/DHT : B에 의해 구현 된 비트 스트림 분산 해시 테이블 라이브러리
- libtorrent (일명 Libtorrent-Rasterbar) : 효율적이고 기능적인 C ++ 비트 스트림 구현.
- Libtorrent (일명 Libtorrent-Rakshasa) : Bitstream 라이브러리.
- LIBUTP : UTORRENT 전송 프로토콜 라이브러리.
화학적인
화학, 지구 화학, 생화학
- D- 시멘트 : NIX의 C ++ 및 LUA 구현을 갖춘 분자 역학 궤도 분석 엔진은 분자 시뮬레이션의 연기 된 구조 분석을위한 약어입니다.
- Gromacs : 통과 메시지의 병렬 분자 역학 구현.
- Reaktoro : C ++ 및 Python에서 화학 반응 시스템 모델링을위한 계산 프레임 워크.
- LAMMPS : 재료 모델링을위한 클래식 분자 역학 코드는 대규모 원자/분자 대규모 평행 시뮬레이터의 약어입니다.
명령 줄 인터페이스
콘솔/터미널 사용자 인터페이스, 명령 줄 인터페이스
- Argh! : 헤더 파일 만있는 미니멀리스트 매개 변수 핸들러.
- Taywee / Args : 헤더 파일 만있는 간단한 C ++ 매개 변수 구문 분석 라이브러리.
- boost.program_options : 명령 줄 및 구성 파일과 같은 일반적인 메소드를 통해 프로그램 선택에 대한 라이브러리를 가져옵니다.
- Clara : 사용하기 쉽고 C ++ 11 이상을위한 Composable Command Line Parser.
- CLI : 헤더 파일 만있는 대화식 명령 줄 인터페이스를위한 크로스 플랫폼 C ++ 14 라이브러리.
- CLI11 : 단순하고 고급 CLI 구문 분석 용 단일 또는 멀티 파일 C ++ 11 라이브러리는 헤더 파일 만 있습니다.
- JARRO2783/CXXOPTS : 경량 C ++ 명령 줄 옵션 파서.
- docopt.cpp : 문서 문자열에서 구문 분석 된 옵션을 생성하는 라이브러리.
- GFLAGS : C ++의 명령 줄 플래그 모듈.
- 지표 : 현대 C ++의 활동 지표.
- Linenoise : Readline 및 Libedit에 대한 작은 독립적 인 선택.
- Linenoise-NG : UTF-8 문자를 처리 할 수있는 Linux, Windows 및 MacOS의 작은 휴대용 GNU 읽기 라인 교체.
- Lyra : 사용하기 쉽고 C ++ 11 이상을위한 Composable Command Line Parser.
- NCURSES : 터미널 사용자 인터페이스.
- PDCURSES : 공개 도메인은 소스 코드 및 사전 컴파일 된 라이브러리가있는 라이브러리를 저주합니다.
- REPLXX : UNIX 및 Windows에서 작동 할 수있는 UTF-8, 구문 하이라이트, 프롬프트 읽기 및 리베이트 교체를 지원합니다.
- 표로 : 최신 C ++ 테이블 제작 도구.
- TCLAP : ANSI C ++에서 명령 줄 매개 변수를 정의하고 액세스하기위한 성숙하고 안정적이며 다양한 라이브러리.
- Termbox : 텍스트 기반 사용자 인터페이스를 작성하기위한 C 라이브러리.
압축
압축 및 아카이브 라이브러리
- 비트 7Z : C ++ 정적 라이브러리, 7-ZIP DLL과 간단한 인터페이스를 제공합니다.
- Brotli : Google에서 개발 한 Brotli 압축 형식.
- BZIP2 : 완전 무료, 무료 특허 및 고품질 데이터 압축.
- Finitestateentropy : 새로운 세대 엔트로피 코덱 : 유한 상태 엔트로피 및 허프 ().
- PhysicsFS : 비디오 게임에 주로 사용되는 다양한 아카이브에 대한 초록 액세스를 제공하는 도서관 및 디자인 영감은 부분적으로 Quake3의 파일 서브 시스템에서 파생됩니다.
- Karchive : Zip 및 Tar와 같은 파일 아카이브를 작성, 읽기, 쓰기 및 조작하기위한 라이브러리는 GZIP 형식을 사용하여 일련의 Qiodevice를 통해 투명한 압축 및 압축 압축 데이터를 제공합니다.
- Libarchive : 다중 형식 아카이브 및 압축 라이브러리.
- LZ4 : 매우 빠른 압축 알고리즘.
- LZFSE : LZFSE 압축 라이브러리 및 명령 줄 도구.
- LZHAM : 무손실 압축 데이터베이스, 압축 비율은 LZMA에 가깝지만 감압 속도가 훨씬 빠릅니다.
- LZMA : 7Z 형식 기본 및 공통 압축 방법.
- LZMAT : 매우 빠른 실시간 무손실 데이터 압축 라이브러리.
- MINIZ : Zlib 호환 API, Zip Archive Read and Write 및 PNG 쓰기 방법을 사용하여 단일 C 소스 파일, Compact/Expand Compression Library.
- MINIZIP : Zlib의 최신 버그 수정은 Pkware 디스크 스패닝, AES 암호화 및 IO 버퍼링을 지원합니다.
- SMAZ : 작은 문자 압축 라이브러리.
- Snappy : 빠른 압축 및 감압.
- Zlib : 매우 소형 데이터 스트림 압축 라이브러리.
- Zlib-NG : "차세대"시스템을위한 Zlib, 중요한 최적화의 교체를 포함시킵니다.
- ZSTD : Zstandard- 빠른 실시간 압축 알고리즘. Facebook에서 개발했습니다.
- Zziplib : Zip Archives에 대한 읽기 권한을 제공합니다.
동시성
동시 실행 및 멀티 스레딩
- Alpaka : 병렬 커널 가속을위한 추상 라이브러리.
- Arrayfire : 일반 목적 GPU 라이브러리.
- Async ++ : Microsoft PPL 라이브러리 및 N3428 C ++ 표준 제안에서 영감을 얻은 C ++ 11을위한 경량 병렬 프레임 워크.
- boost.compute : OpenCL 용 C ++ GPU 컴퓨팅 라이브러리.
- 볼트 : GPU에 최적화 된 C ++ 템플릿 라이브러리.
- CK : 동시 프리미티브, 안전한 메모리 복구 메커니즘 및 비 차단 데이터 구조.
- Concurrentqueue : C ++ 11의 빠른 멀티 프로듀서 및 다중 소비자 잠금 장치 동시 대기열.
- CPP-TASKFLOW : 작업 종속성을 사용한 빠른 C ++ 병렬 프로그래밍.
- CUB : CUB는 CUDA 프로그래밍 모드의 각 계층에 대해 최신 재사용 가능한 소프트웨어 구성 요소를 제공합니다.
- CUDA-API-Wrappers : CUDA GPU를위한 런타임 API 프로그래밍을위한 경량 현대 C ++ 캡슐화.
- CUPLA : Alpaka를 통해 OpenMPA, Threst, TBB에서 Cuda/C ++ API를 실행하십시오.
- C ++ React : C ++ 11을위한 반응 형 프로그래밍 라이브러리.
- FibertaskingLib : 임의 종속성을 갖는 작업 차트를 지원하는 작업 기반 멀티 스레드 라이브러리.
- HPX : 모든 크기의 병렬 분산 응용 프로그램을위한 범용 C ++ 런타임 시스템.
- 인텔 게임 작업 스케줄러 : 게임 개발자의 요구를 위해 설계된 작업 스케줄링 프레임 워크.
- 인텔 병렬 STL : C ++ 11 이상에 대한 C ++ 17 STL의 인텔 구현.
- 인텔 TBB : 인텔 스레드 빌딩 모듈.
- 정션 : 동시 데이터 구조를위한 C ++ 라이브러리.
- Kokkos : 병렬 작동 및 메모리 추상화를위한 휴대용 프로그래밍 모델.
- LIBCDS : 병렬 데이터 구조를위한 C ++ 라이브러리.
- libclsph : OpenCL 기반 GPU- 셀러 된 SPH 유체 시뮬레이션 라이브러리.
- Libmill : C에서 구조적 동시성을 소개합니다.
- Libdispatch : Apple이 개발 한 GRCD (Grand Central Dispatch)는 스레드 풀 패턴을 기반으로하는 작업 병렬 기술입니다. Libdispatch 라이브러리는 GCD 서비스 구현을 제공합니다.
- Libmill : C에서 Go 스타일 동시성을 소개합니다.
- Marl : Marl은 C ++ 11으로 작성된 혼합 스레드/섬유의 작업 스케줄러입니다.
- ModernNGPU : ModernNGPU는 GPU 일반 컴퓨팅을위한 생산성 라이브러리이며 Cuda 용으로 작성된 C ++ 헤더 파일 만 있습니다. 이 라이브러리의 고유 한 값은 불규칙한 병렬 문제를 해결하는 데 사용되는 가속 프리미티브에 있습니다.
- NCCL : 집단 다중 GPU 커뮤니케이션을위한 최적화 된 프리미티브.
- OPENCL : 병렬로 프로그래밍 된 이종 시스템에 대한 개방 표준.
- OpenMP : OpenMP API.
- Sobjectizer : 액터, 게시-서식 및 CSP 모드를 구현하는 다소 작은 C ++ 프레임 워크.
- Quantum : Boost의 최상위 레벨에 구축 된 강력한 C ++ 협업 스케줄러 프레임 워크 :: Coroutines2.
- RAFTLIB : RAFTLIB C ++ 라이브러리는 ioStream- 유사 C ++ 연산자를 통해 스트림/데이터 스트림 동시성을 구현합니다.
- ReaderWriterQueue : C ++ 빠른 단일 생산자 및 단일 소비자 잠금 장치 큐.
- STDGPU : GPU의 효율적인 STL 유사 데이터 구조.
- 추력 : C ++ 표준 템플릿 라이브러리와 유사한 병렬 알고리즘 라이브러리.
- Transwarp : 작업 동시성을위한 C ++ 라이브러리, 헤더 파일 만.
- VEXCL : OPENCL/CUDA 용 C ++ 벡터 표현식 템플릿 라이브러리.
- Quantum : Boost의 최상위 레벨에 구축 된 강력한 C ++ 협업 스케줄러 프레임 워크 :: Coroutines2.
- STAPL : 공유 및 분산 메모리 병렬 컴퓨터에서 작동하도록 설계된 C ++ 병렬 프로그래밍 프레임 워크.
구성
구성 파일, INI 파일
INIH : C 언어의 간단한 .ini 파일 파서로, 임베디드 시스템에 매우 적합합니다.
INIH : INIH의 C ++ 버전, 헤더 파일 만 있습니다.
INEPARSER : INI 파일 파서.
libconfig : c 및 c ++ 라이브러리 구조화 된 구성 파일을 처리하는 데 사용됩니다.
LibConfuse : C의 작은 구성 파일 구문 분석 라이브러리.
SimpleIni : INI 구성 파일을 읽고 쓰는 간단한 API를 제공하는 크로스 플랫폼 C ++ 라이브러리.
Toml ++ : Toml Parser 및 Stringer, C ++ 17에 적합하며 나중에 헤더 파일 만 있습니다.
컨테이너
- C ++ B-Tree : B-Tree 데이터 구조를 기반으로 명령 메모리 컨테이너를 구현하는 템플릿 라이브러리.
- 콜로니 : 고도로 수정할 때 표준 컨테이너보다 더 잘 수행되는 순차가없는 "백"컨테이너. 동시에 삽입 또는 지우기에 관계없이 항상 언급되지 않은 요소에 대한 영구 포인터를 유지할 수 있습니다.
- Dynamic_Bitset : C ++ 17 Dynamic Bitset Collection, 헤더 파일 만.
- Forest : AVL, Binary Search, KD 및 Quadtree 용 템플릿 라이브러리를 구현합니다.
- 해시 맵 : C ++에서 오픈 주소 지정 해시 테이블 알고리즘 구현.
- Hopscotch Map : Hopscotch 해시 알고리즘을 사용하여 헤더 파일만으로 충돌 해상도를위한 빠른 해시 매핑을 구현합니다.
- LSHBOX : 로컬 민감한 알고리즘 (LSH) 용 C ++ 도구 상자는 몇 가지 일반적인 LSH 알고리즘을 제공하며 Python 및 Matlab을 지원할 수도 있습니다.
- PGM-Index : 기존 인덱스와 비교하여 공간이 아닌 그라디언트의 순서를 사용하여 수억 개의 항목 배열을 신속하게 찾아, 리드, 범위 검색 및 업데이트 할 수있는 데이터 구조.
- PLF :: 목록 : std :: List 구현으로 캐시 친화적 인 구조를 활성화하기 위해 범위 스티칭을 지우므로 성능이 크게 향상되었습니다.
- PLF :: 스택 : STD :: 스택 컨테이너 어댑터. 스택 컨텍스트에서 표준 컨테이너보다 성능이 향상됩니다.
- Ring_span Lite : 원형 버퍼 뷰와 같은 Arthur O'Dwyer의 Ring_span의 단순화 된 구현.
- Robin-Hood-Hashing : Robin Hood Hashing 알고리즘을 기반으로 C ++ 1의 빠른 메모리 절약 해시 테이블.
- Robin-Map : Robin Hood Hash 알고리즘을 사용하여 해시 매핑 및 해시 세트.
- sparsepp : C ++에 대한 빠른 메모리 절약 해시 매핑.
암호화
암호화 및 암호화 라이브러리
- BCRYPT : 모든 지원되는 운영 체제 및 프로세서에 포팅 할 수있는 크로스 플랫폼 파일 암호화 도구.
- 비록 크립트 : 휴대용 및 빠른 암호화 라이브러리.
- 식물 : C ++ 암호화 라이브러리.
- Crypto ++ : 암호화 체계를위한 무료 C ++ 라이브러리.
- DiGestpp : C ++ 11의 Information Digest (HASH) 라이브러리, 헤더 파일 만.
- GNUPG : OpenPGP 표준의 완전하고 무료 구현.
- GNUTLS : SSL, TLS 및 DTLS 프로토콜을 구현하는 안전한 통신 라이브러리.
- libgcrypt : 원래 CNUPG 코드를 기반으로하는 범용 암호 라이브러리.
- Libressl : 무료 SSL/TLS 프로토콜은 2014 년 OpenSSL의 한 분야에 속합니다.
- Libsodium : NACI 기반 암호화 라이브러리, 완고하고 사용하기 쉽습니다.
- Libhydrogen : 제한된 환경을위한 가볍고 안전하며 사용하기 쉬운 암호화 라이브러리.
- LibtomCrypt : 상당히 포괄적이고 모듈 식 암호화 툴킷.
- MBEDTLS : 오픈 소스, 휴대용, 사용하기 쉽고 읽기 쉬운, 유연한 SSL 라이브러리, 이전에는 PolarsSL로 알려져 있습니다.
- 쐐기풀의 기본 암호화 라이브러리.
- OpenSSL : 강력하고 상업적이며 완벽하게 기능적 인 오픈 소스 암호화 라이브러리.
- 레터 : 해시 기능, 암호, 도구, 라이브러리 및 자료와 관련된 암호화 모음.
- S2N : TLS/SSL 프로토콜 구현.
- SHA1CollisionDetection : 파일의 SHA-1 충돌을 감지하기위한 라이브러리 및 명령 줄 도구.
- Tink : 안전하고 사용하기 쉬우 며 사용하기 어려운 다국어 교차 플랫폼 라이브러리.
- C : C 중소형 휴대용 AES128/192/256의 작은 AES.
- Themis : 통증이없는 데이터 보안을위한 암호화 라이브러리로, 모바일 및 서버 플랫폼에 대칭 및 비대칭 암호화를 제공하는 보안 소켓을 제공합니다.
CSV
구문 분석 쉼표 분리 값 (CSV) 파일을위한 라이브러리
- CSV2 : 현대 C ++의 빠른 CSV 파서.
- 빠른 C ++ CSV Parser : 헤더 파일 만 포함하여 CSV 파일을 읽기위한 작고 사용하기 쉽고 빠른 라이브러리.
- Vince의 CSV 파서 : 옵션 유형 변환 및 통계를 갖춘 빠른, 독립형, 스트리밍 C ++ 17 CSV 파서.
데이터 베이스
데이터베이스, SQL 서버, ODBC 드라이버 및 도구
- Hiberlite : SQLITE3에 대한 C ++ 객체 관계 매핑.
- Hiredis : Redis 데이터베이스를위한 매우 간단한 C 클라이언트 라이브러리.
- LevelDB : 문자 키에서 문자열 값으로 순서 매핑을 제공하는 Google에서 작성한 빠른 키 값 저장소.
- LMDB : 데이터베이스의 4 가지 기본 요소를 준수하는 임베디드 키 값 저장소.
- LMDB ++ : C ++ 11 LMDB 임베디드 데이터베이스에 대한 캡슐화.
- Mongodb C 드라이버 : C의 Mongodb 클라이언트 라이브러리.
- MongoDB C ++ 드라이버 : MongDB의 C ++ 드라이버.
- Mongodb Libbson : BSON 유틸리티 라이브러리.
- MySQL ++ : MySQL의 C API를 캡슐화하는 C ++ 캡슐화기.
- NANODBC : 네이티브 C ODBC API를위한 작은 C ++ 래퍼.
- ODB : C ++의 오픈 소스, 크로스 플랫폼 및 크로스-대사 객체 관계 매핑 (ORM) 시스템.
- redis3m : 깨끗한 C ++ 인터페이스, 지원 태그 및 기성품 패턴을 사용한 Hiredis acapsular.
- ROCKSDB : Facebook에서 내장 된 키 값의 빠른 저장.
- SIMDB : 고성능, 공유 메모리, 잠금, 크로스 플랫폼, 단일 파일, 최소 의존성 C ++ 11 키 값 저장소.
- Soci : C ++의 데이터베이스 추상화 계층.
- SQLITE : 프로젝트에 올바르게 포함될 수있는 수백 KB 만있는 완전히 내장 된 완전 기능적인 관계형 데이터베이스.
- sqlitec ++ : sqlitec ++ (sqlitecpp)는 영리하고 사용하기 쉬운 c ++ sqlite3 래퍼입니다.
- sqlite_modern_cpp : sqlite 라이브러리의 c ++ 14 래퍼, 헤더 파일 만.
- sqlite_orm : 헤더 파일 만있는 최신 C ++ 용 Sqlite ORM Lightweight Library.
- SQLPP11 : SQL 쿼리를위한 유형-안전 내장 도메인 별 언어 및 C ++를 생성합니다.
- TILEDB : 빠른 조밀하고 희소 한 다차원 배열 DBM.
- UNQLITE : 독립형, 서버리스, 제로 구성 요소 기반 NOSQL 엔진.
- Upscaledb : 내장 쿼리 인터페이스가 장착 된 내장 된 "유형"키-값 저장소.
디버그
디버깅 라이브러리, 메모리 및 리소스 누출 감지, 단위 테스트
- 뒤로 CPP : C ++의 아름다운 스택 트랙 프린터.
- 벤치 마크 : Google에서 제공하는 작은 마이크로 벤치 마크 지원 라이브러리.
- 부스트 테스트 : 부스트 테스트 라이브러리.
- 점검 : C의 단위 테스트 프레임 워크.
- DocTest : 단일 C ++ 헤더 파일의 가장 가벼운 테스트 프레임 워크.
- 캐치 : 단위 테스트, 테스트 중심 개발 및 행동 중심 개발을위한 헤더 파일 만 포함하는 매우 세련된 C ++ 기본 프레임 워크.
- CATCH2 : 단위 테스트, 테스트 중심 개발 및 행동 중심 개발을위한 헤더 파일 만 포함하는 매우 세련된 C ++ 기본 프레임 워크.
- Celero : C ++ 벤치마킹 프레임 워크.
- CPPUTEST : C/C ++ 장치 테스트 및 조롱 프레임 워크.
- 귀여운 : 더 쉬운 C ++ 장치 테스트.
- Cmocka : 모의 개체를 지원하는 C 장치 테스트 프레임 워크.
- CPPUNIT : Junit이 포팅 한 C ++ 테스트 프레임 워크.
- CTEST : CMAKE 테스트 드라이버.
- DBG-MACRO : C ++ DBG (…) 매크로.
- DELEAKER : 메모리, GDI 및 핸들링 누출을 포함한 자원 유출 확인 도구.
- FFF : 의사 C 함수를위한 마이크로 프레임 워크를 만듭니다.
- Google Mock : C ++ Mock 클래스를 작성하고 사용하기위한 도서관.
- Google 테스트 : Google의 C ++ 테스트 프레임 워크.
- IG-DeBugheAp : 메모리 오류 추적을위한 다중 플랫폼 디버그 힙.
- Libtap : C 언어로 테스트를 작성하십시오.
- Memtrack : C ++에서 메모리 할당을 추적하는 데 사용됩니다.
- Microprofile : 크로스 플랫폼 네트워크보기 분석기.
- Minunit : 단일 헤더 파일에 포함 된 C로 작성된 가장 작은 단위 테스트 프레임 워크.
- Mockator : C ++ 스티칭 및 조롱 객체 용 Eclipse CDT 플러그인.
- Nanotimer : 벤치마킹을위한 단순하고 낮은 오버 헤드, 크로스 플랫폼 타이머 클래스.
- Nonius : C ++ microbenchmarking 프레임 워크.
- Remotery : 웹보기를위한 단일 C 파일 분석기.
- UnitTest ++ : 경량 C ++ 장치 테스트 프레임 워크.
- Unity : C에 대한 간단한 단위 테스트
- Utest.h : C 및 C ++에 대한 단일 헤더 파일 테스트 프레임 워크.
- μT : C ++ 20 단일 헤더 파일/단일 모듈, μ (마이크로)/매크로가없는 단위 테스트 프레임 워크.
- VLD : Visual C ++를위한 무료, 강력 및 오픈 소스 메모리 누출 감지 시스템 인 Microsoft Leakage Meter.
세례반
글꼴 파일을 구문 분석 및 처리하기위한 라이브러리.
- FontConfig : 글꼴 구성 및 사용자 정의 라이브러리.
- 프리 타입 : 렌더링 글꼴을위한 무료 소프트웨어 라이브러리.
- OTFCC : C 라이브러리 및 OpenType 글꼴 파일을 구문 분석하고 쓰기위한 유틸리티.
게임 엔진
- 산 : 고속 C ++ 17 Vulkan 게임 엔진.
- Allegro : 비디오 게임 및 멀티미디어 프로그래밍에 주로 사용되는 크로스 플랫폼 라이브러리.
- COCOS2D-X : 2D 게임, 대화식 책, 데모 및 기타 그래픽 응용 프로그램을 구축하기위한 다중 플랫폼 프레임 워크.
- Corange : Pure C, SDL 및 OpenGL로 작성된 게임 엔진.
- Crown : Crown은 미니멀리스트 및 데이터 지향 설계 개념을 염두에두고 정통 C ++를 사용하여 처음부터 작성된 보편적 인 데이터 중심 게임 엔진입니다.
- DELTA3D : 강력한 시뮬레이션 플랫폼.
- ENTT : 게임과 현대 C ++ 간의 충돌.
- 게임 플레이 : 2D/3D 모바일 및 데스크탑 게임을 만들기위한 크로스 플랫폼 네이티브 C ++ 게임 프레임 워크.
- GODOT : 완벽하게 기능적 인 오픈 소스 MIT 라이센스 게임 엔진.
- 그릿 : 오픈 월드 3D 게임을 가능하게하는 무료 게임 엔진을 구축하기위한 커뮤니티 프로젝트.
- Halley : "실제"물리적 구성 요소 시스템이있는 C ++ 14로 작성된 경량 게임 엔진.
- Klayge : 플러그인 아키텍처를 기반으로하는 크로스 플랫폼, 오픈 소스 게임 엔진.
- NCINE : C ++ 11으로 작성된 성능에 중점을 둔 크로스 플랫폼 2D 게임 엔진으로 LUA를 사용하여 스크립트를 작성하도록 선택할 수도 있습니다.
- OpenXray : 스토커 게임 시리즈에 사용되는 커뮤니티 수정 X- 레이 엔진.
- 산소 : 크로스 플랫폼 2D C ++ 게임 엔진.
- Panda3D : 게임 엔진, Python 및 C ++ 프로그램의 3D 렌더링 및 게임 개발을위한 프레임 워크.
- PixelgameEngine : Javidx9의 YouTube 비디오 및 프로젝트를위한 도구 인 OlcpixelGameEngine의 공식 릴리스.
- Polycode : 게임을 만들기 위해 C ++ (LUA)로 구현 된 오픈 소스 프레임 워크.
- Raylib : 비디오 게임 프로그래밍의 재미를 즐기기 위해 간단하고 사용하기 쉬운 라이브러리.
- 봄 : 강력하고 무료, 크로스 플랫폼 RTS 게임 엔진.
- Torque2d : 2D 게임 개발을 위해 구축 된 오픈 소스 크로스 플랫폼 C ++ 엔진.
- Torque3d : 3D 게임 개발을 위해 구축 된 오픈 소스 C ++ 엔진.
- 장난감 엔진 : 장난감은 가벼운 모듈 식 C ++ 게임 엔진이며, 완전히 기능적인 2D 및 3D 게임의 디자인을 빠르게 반복 할 수있는 간단하고 표현적인 C ++ 관용구를 제공합니다.
- URHO3D : C ++가 구현 한 무료, 가벼운 크로스 플랫폼 2D 및 3D 게임 엔진은 Ogre 및 Horde3d에서 크게 영감을 받았습니다.
그래픽 사용자 인터페이스
그래픽 사용자 인터페이스
- Boden : 기본, 모바일, 크로스 플랫폼 GUI 프레임 워크.
- CEGUI : 유연한 크로스 플랫폼 GUI 라이브러리.
- 요소 : 가볍고 세밀한 해상도 독립적 인 모듈 식 GUI 라이브러리.
- FLTK : 빠르고 가벼운 크로스 플랫폼 C ++ GUI 툴킷.
- GACUI : WYSIWYG 개발 도구를 갖춘 GPU-Accelerated C ++ 사용자 인터페이스, XML을 지원하며 내장 데이터 바인딩 및 MVVM 기능이 있습니다.
- GTK+: 그래픽 사용자 인터페이스를 만들기위한 멀티 플랫폼 툴킷.
- GTKMM : 인기 GUI 라이브러리 GTK+의 공식 C ++ 인터페이스.
- IMGUI : 최소의 종속성을 가진 실시간 모드 그래픽 사용자 인터페이스.
- Implot : Imgui의 실시간 모드 드로잉 제어.
- IUP : 그래픽 사용자 인터페이스를 구축하기위한 다중 플랫폼 툴킷.
- Libui : 지원하는 모든 플랫폼에 기본 GUI 기술을 사용하는 C의 간단하고 휴대용 (그러나 융통성이없는) GUI 라이브러리.
- Mygui : 빠르고 유연하며 간단한 GUI.
- NANA : NANA는 현대 C ++ 스타일 GUI 프로그래밍을위한 크로스 플랫폼 라이브러리입니다.
- Nanogui : OpenGL 3.X 이상을위한 미니멀리스트 크로스 플랫폼 제어 라이브러리.
- Nuklear : 단일 헤더 파일 용 ANSI C GUI 라이브러리.
- QCUSTOMBLOT : 더 많은 종속성이없는 QT 드로잉 컨트롤.
- QWT : 사용자 및 기술 응용 프로그램을위한 QT 제어.
- QWTPLOT3D : QT/OpenGL을 기반으로하는 기능이 풍부한 C ++ 프로그래밍 라이브러리로, 본질적으로 3D 컨트롤 그룹을 제공합니다.
- RMLUI : 진화 된 HTML/CSS 사용자 인터페이스 라이브러리, Librocket의 지점.
- Sciter : Sciter는 최신 데스크탑 애플리케이션의 UI 계층에 사용하도록 설계된 임베드 가능한 HTML/CSS/스크립팅 언어 엔진입니다.
- WXWIDGETS C ++ 라이브러리는 개발자가 코드베이스를 사용하여 Widows, Mac OS X, Linux 및 기타 플랫폼을위한 애플리케이션을 생성 할 수 있습니다.
- YUE : 기본 크로스 플랫폼 GUI 응용 프로그램을위한 라이브러리를 만듭니다.
제도법
- Assimp : Open Asset Import Library (Assimp)는 다른 3D 자산 파일 형식에 공통 API를 제공하도록 설계된 크로스 플랫폼 3D 모델 가져 오기 라이브러리입니다.
- BGFX : 크로스 플랫폼 렌더링 라이브러리.
- Blend2D : JIT 컴파일러로 구동되는 2D 벡터 그래픽 엔진.
- BS :: 프레임 워크 : 실시간 그래픽 응용 프로그램 개발을위한 최신 C ++ 14 라이브러리.
- 카이로 : 여러 출력 장치를 지원하는 2D 그래픽 라이브러리.
- C- 터틀 : 헤더 파일 만있는 CLMG 래퍼 역할을하는 C ++ 11 Turtle Graphics 라이브러리.
- 부지런한 엔진 : 현대적인 크로스 플랫폼, 저수준 3D 그래픽 라이브러리.
- DirectXtk : C ++에서 DirectX 11.x 코드를 작성하는 데 사용되는 도움말 클래스 모음.
- GLFW : 간단한 크로스 플랫폼 OpenGL 프로세싱 라이브러리.
- HerebedRagons : 다양한 엔진, 프레임 워크 또는 API를 사용하여 구현 된 기본 3D 장면.
- HORDE3D 소규모 3D 렌더링 및 애니메이션 엔진.
- ION : 3D 그래픽을 사용하여 크로스 플랫폼 클라이언트 또는 서버 응용 프로그램을 구축하기위한 작고 효율적인 라이브러리 모음.
- IRRLICHT : C ++로 작성된 고성능 실시간 3D 엔진.
- Libigl : 간단한 C ++ 기하학 처리 라이브러리.
- LLGL : 저수준 그래픽 라이브러리 (LLGL)는 최신 그래픽 API를위한 얇은 추상화 층입니다.
- 매그넘 : 가볍고 모듈 식 C ++ 11/C ++ 14 게임 및 데이터 시각화를위한 그래픽 미들웨어.
- NANOVG : UI 및 시각화를 위해 OpenGL 상단의 aliased 2D 벡터 그래픽 라이브러리.
- OGRE 3D : C ++로 작성된 장면 지향, 실시간, 유연한 3D 렌더링 엔진 (게임 엔진 아님).
- OpenScenegraph : 고성능의 OpenScenegraph Toolkit.
- OpenSubdiv : CPU 및 GPU에서 세그먼트 표면을 평가하고 렌더링하기위한 Pixar의 라이브러리.
- OpenVDB : 볼륨 데이터베이스를 저장, 편집 및 렌더링하기위한 라이브러리 및 도구.
- PANDA3D : Python 및 C ++로 작성된 3D 렌더링 및 게임 개발을위한 프레임 워크.
- partio : 가장 일반적인 파일 양식을 지원하는 입자 데이터를 처리하기위한 라이브러리.
- SKIA 텍스트, 그래픽 및 이미지를 그리기위한 전체 2D 그래픽 라이브러리.
- Tinyspline : 작지만 강력한 ANSI C 라이브러리 차이, 변형 및 쿼리 임의의 term, b- 스플라인 함수 및 Besel 곡선.
- URHO3D 크로스 플랫폼 렌더링 및 게임 엔진.
- Yocto/GL : 데이터 중심을위한 물리적 그래픽을 기반으로하는 미니어처 C ++ 라이브러리.
이미지 처리
- boost.gil : Universal Image Library.
- CIMG : 이미지 처리를위한 작은 오픈 소스 C ++ 툴킷.
- CXIMAGE :로드, 저장, 표시 및 변환을위한 이미지 처리 및 변환 라이브러리에는 BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K가 포함됩니다.
- DLIB : 최신 C ++ 11 기계 학습, 컴퓨터 비전, 수치 최적화 및 딥 러닝 툴킷.
- FreeImage : 공통 이미지 형식 및 멀티미디어 응용 프로그램에 필요한 기타 형식을 지원하는 오픈 소스 라이브러리.
- GD : GD 그래픽 라이브러리, PHP의 그래픽로드/작동 및 썸네일 생성으로 유명합니다.
- DCMTK : DICOM 툴킷.
- 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: 代码美化器。