Top 23 C++ C Projects
-
FlatBuffers
FlatBuffers: Memory Efficient Serialization Library
However, protobuf generally has better support. (Recent grpc versions seem to have broken FB support, unfortunately)
-
Sourcetrail
Sourcetrail - free and open-source interactive source explorer
I'm with you on this one. I'd actually suggest https://github.com/CoatiSoftware/Sourcetrail could be extended to do this, though I haven't found the time yet. For example https://github.com/CoatiSoftware/SourcetrailPythonIndexer and under the hood the file format is SQLite: https://github.com/CoatiSoftware/SourcetrailDB
-
Scout
Get performance insights in less than 4 minutes. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
-
OpenRCT2
An open source re-implementation of RollerCoaster Tycoon 2 🎢
My pick is this one: https://github.com/OpenRCT2/OpenRCT2/pull/12888
-
Apache Thrift
Apache Thrift
Project mention: Can you share your experience with race conditions in production? | reddit.com/r/java | 2021-01-25We were sharing instances of a Thrift TDeserializer across threads. We knew TProtocol was not thread-safe, but the TDeserializer constructor accepts a TProtocolFactory, so we naively assumed the deserialize method would use that to create a new instance of TProtocol for each invocation, but unfortunately, the TDeserializer constructor immediately creates TProtocol and stores it in a member variable, so TDeserializer is not actually thread-safe.
-
GuiLite
✔️The smallest header-only GUI library(4 KLOC) for all platforms
You can get source code here
-
fswatch
A cross-platform file change monitor with multiple backends: Apple OS X File System Events, *BSD kqueue, Solaris/Illumos File Events Notification, Linux inotify, Microsoft Windows and a stat()-based backend.
Project mention: Can I version control directories like /Applications, /Library/Application Support, /usr/local etc using Git? | reddit.com/r/MacOS | 2021-02-13Found an interesting tool while searching for a readily available solution: https://github.com/emcrisostomo/fswatch but not sure if it is kind of always on or not. Requires port or brew to install it, so not able to test it.
-
nghttp2
nghttp2 - HTTP/2 C Library and tools
-
Cppcheck
static analysis of C/C++ code
-
ArrayFire
ArrayFire: a general purpose GPU library.
Project mention: World’s First 1k-Processor Chip, Powered by a Single AA Battery (2016) | news.ycombinator.com | 2021-02-15 -
Reverse-Engineering-Tutorial
A FREE comprehensive reverse engineering course covering x86, x64, 32-bit ARM & 64-bit ARM architectures.
Project mention: Lesson 174: ARM-64 Course (Part 17 - Hacking Float Primitive Datatype) | reddit.com/r/ReverseEngineering | 2021-01-30 -
harfbuzz
HarfBuzz text shaping engine
Project mention: Bug: Kerning broken. - Dev: You can try to get used to the "blurry" rendering. Or you can find something else to use, or whatever. You are using Free Software you realize, right? | reddit.com/r/programmingcirclejerk | 2021-01-12Quality off-topic jerk down below
-
Teeworlds
A retro multiplayer shooter
-
OpenJK
Community effort to maintain and improve Jedi Academy (SP & MP) + Jedi Outcast (SP only) released by Raven Software
I am hoping he is referring to this :) https://github.com/JACoders/OpenJK Which is an open source version of the starwars jedi knight academy games.
-
faust
Functional programming language for signal processing and sound synthesis (by grame-cncm)
Project mention: Audio DSP language SOUL reaches V1.0 status | reddit.com/r/programming | 2021-01-21Had a look at some Faust publications; you're right, very similar concepts; and as it seems it's still actively developed: https://github.com/grame-cncm/faust; and it even supports FPGAs; amazing.
-
ccache
ccache – a fast compiler cache
ccache is a tool for the gcc compiler used to compile the same program over and over again with little downtime. While it may take a few seconds longer to compile a program the first time with ccache, subsequent compiles will be much, much faster.
-
enkiTS
A permissively licensed C and C++ Task Scheduler for creating parallel programs. Requires C++11 support.
GL_MAP_PERSISTENT_BIT for any data which is changed per-frame, such as constant buffers, particle data, SSBO data etc. This allows the data to be written in parallel (I use my tasking system enkiTS).
-
cr
cr.h: A Simple C Hot Reload Header-only Library (by fungos)
Project mention: What are good Lua alternatives as an embeddable language? | reddit.com/r/gamedev | 2021-01-17Depends on your use case, but I would second the option of just hot reloading c++. I have been experimenting with that (using cr.h) and its great - as long as you make sure your compile and link times are fast enough.
-
ImGuiColorTextEdit
Colorizing text editor for ImGui
Project mention: Show HN: Virtual breadboard in your desktop browser, inspired by Ben Eater 6502 | news.ycombinator.com | 2021-01-19The text editor is this one https://github.com/BalazsJako/ImGuiColorTextEdit, it's listed on the third-party attributions page (https://www.tejotron.com/thirdparty.html)
-
slop
slop (Select Operation) is an application that queries for a selection from the user and prints the region to stdout. (by naelstrof)
Here: https://github.com/naelstrof/slop
-
mull
Practical mutation testing tool for C and C++
Project mention: Mutation Driven Testing: When TDD Just Isn’t Good Enough | news.ycombinator.com | 2021-02-06re: absence of C++ tools
Have you looked at Mull[1] or Dextool[2]?
[1] https://github.com/mull-project/mull
[2] https://github.com/joakim-brannstrom/dextool/tree/master/plu...
-
dsd
Digital Speech Decoder (by szechyjs)
Project mention: Anyone in GTA/Toronto, Canada have any interesting frequencies to listen to? | reddit.com/r/RTLSDR | 2020-12-24Try scanning around for some digital stuff with https://github.com/szechyjs/dsd
-
Enzyme
High-performance automatic differentiation of LLVM. (by wsmoses)
Hi all, another author here and happy to answer any questions!
Some more relevant links for the curious
Github: https://github.com/wsmoses/Enzyme
Paper: https://proceedings.neurips.cc/paper/2020/file/9332c513ef44b...
Basically the long story short is that Enzyme has a couple of interesting contributions:
1) Low-level Automatic Differentiation (AD) IS possible and can be high performance
2) By working at LLVM we get cross-language and cross-platform AD
3) Working at the LLVM level actually can give more speedups (since it's able to be performed after optimization)
4) We made a plugin for PyTorch/TF that uses Enzyme to import foreign code into those frameworks with ease!
-
fff
A testing micro framework for creating function test doubles
Index
What are some of the best open-source C projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | FlatBuffers | 15,830 |
2 | Sourcetrail | 10,421 |
3 | OpenRCT2 | 9,137 |
4 | Apache Thrift | 8,117 |
5 | GuiLite | 5,246 |
6 | fswatch | 3,715 |
7 | nghttp2 | 3,633 |
8 | Cppcheck | 3,361 |
9 | ArrayFire | 3,319 |
10 | Reverse-Engineering-Tutorial | 2,990 |
11 | harfbuzz | 1,815 |
12 | Teeworlds | 1,552 |
13 | OpenJK | 1,547 |
14 | faust | 1,339 |
15 | ccache | 1,103 |
16 | enkiTS | 947 |
17 | cr | 833 |
18 | ImGuiColorTextEdit | 760 |
19 | slop | 636 |
20 | mull | 525 |
21 | dsd | 461 |
22 | Enzyme | 395 |
23 | fff | 392 |