awesome-hpp
sanitizers
awesome-hpp | sanitizers | |
---|---|---|
6 | 48 | |
3,193 | 10,826 | |
- | 1.3% | |
6.2 | 6.3 | |
4 months ago | 11 days ago | |
C | ||
The Unlicense | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
awesome-hpp
-
Collecting the best C++ practices
awesome-hpp. A curated list of awesome header-only C++ libraries.
-
oof: real-time, full-color console output for C++
I sampled ten arbitrary projects from https://github.com/p-ranav/awesome-hpp, and not one of them used this pattern. Maybe it's more common in some circles than others?
-
Is C++ Still Worth Learning? Absolutely! Yes Rust And Go Are Awesome. There Is Still Work To Be Done In C++
If package managers seem intimidating, try header-only libraries that require no compilation or configuration.
- A curated list of header-only C++ libraries
-
Why is it preferred to declare functions in header files but not define them?
That doesn't mean there aren't any header-only libraries. Usually small libraries implement everything in a header file. Checkout this GitHub link. With such header-only-libraries, all you have to do is include the header, write code which uses them, compile and you are done. This also doesn't involve the headache of setting up complicated build systems.
-
CXXGraph Library
awesome-hpp
sanitizers
-
Good resources for learning C in depth?
AddressSanitizer is really useful, it's similar to Valgrind but has much lower overhead.
-
Memory Allocators
And if you're up for it, I'd further recommend adding some ways to deal with buffer overflows in debug builds. The way I deal with this is by using Address-Sanitizer's manual poisoning api. Bonus point if you leave additional poisoned space between allocations so off by one errors are likely to end up in a poisoned region instead of nearby allocation.
- Exception thrown: write access violation
-
2023 Stack Overflow Survey: Rust is the most admired programming language, making it the most loved language for 8 years in a row
It also doesn't hurt that Miri can find many kinds of unsafe violations even in unsafe blocks. Zig may get something like this one day, but even if it does, checking things at runtime is not a substitute for compile time -- the C++ Sanitizers haven't exactly solved the safety story for C++ even over a decade later.
-
What's the best thing you've found in code? :
This is where stuff like ASan is really useful.
-
how do I check my library for memory leaks?
Use: https://github.com/google/sanitizers/wiki/AddressSanitizer
-
Is malloc_trim() safe to use?
Have you tried using tools like ASAN/LSAN or valgrind to confirm that there are indeed no memory leaks?
-
Having trouble with projects too long to post here.
Compile with ASAN and UBSAn
- Strange Segmentation Fault when accessing a Class inside a for loop.
- Will Carbon Replace C++?
What are some alternatives?
mp-units - The quantities and units library for C++
miri - An interpreter for Rust's mid-level intermediate representation
replxx - A readline and libedit replacement that supports UTF-8, syntax highlighting, hints and Windows and is BSD licensed.
spdlog - Fast C++ logging library.
eos - A lightweight 3D Morphable Face Model library in modern C++
xeus-cling - Jupyter kernel for the C++ programming language
CXXGraph - Header-Only C++ Library for Graph Representation and Algorithms
plotters - A rust drawing library for high quality data plotting for both WASM and native, statically and realtimely 🦀 📈🚀
cppbestpractices - Collaborative Collection of C++ Best Practices. This online resource is part of Jason Turner's collection of C++ Best Practices resources. See README.md for more information.
Catch - A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)
linenoise - A small self-contained alternative to readline and libedit
doctest - The fastest feature-rich C++11/14/17/20/23 single-header testing framework