ModernCppStarter
sanitizers
ModernCppStarter | sanitizers | |
---|---|---|
6 | 49 | |
4,087 | 10,886 | |
- | 1.9% | |
4.3 | 6.3 | |
about 1 month ago | 4 days ago | |
CMake | 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.
ModernCppStarter
-
Collecting the best C++ practices
ModernCppStarter. Kick-start your C++! A template for modern C++ projects using CMake, CI, code coverage, clang-format, reproducible dependency management and much more.
-
Is Using Project-Templates A Good Thing For Understanding CMake Better?
I really want to understand CMake in a deeper way. Recently, I have found many project templates like this one: https://github.com/TheLartians/ModernCppStarter. Is using theses templates a good idea to understand how to use CMake very well in a bigger project? Or what alternatives are there? Can anyone recommend good resources, which are the current best practice in these cases. Thank you in advance.
-
Recommendations for modern C++ project structures
https://github.com/TheLartians/ModernCppStarter if you need a template project structure
-
ConorWilliams/ConcurrentDeque
Nice. Sounds good. I'll see if I can make it work with https://github.com/TheLartians/ModernCppStarter if there's any issues I'll make you a PR.
-
Looking for a CMake Guru
Have a look here https://github.com/TheLartians/ModernCppStarter - this project uses author's own CPM cmake-based package manager which is easy to use (for projects written with cmake). It's a nice starting point.
-
Cmake Skeleton?
I think this one is pretty good: https://github.com/TheLartians/ModernCppStarter
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?
cmake-init - The missing CMake project initializer
miri - An interpreter for Rust's mid-level intermediate representation
gui_starter_template - A template CMake project to get you started with C++ and tooling
spdlog - Fast C++ logging library.
cmake-git-version-tracking - Embed Git metadata in a C/C++ compatible static library using CMake (e.g. commit ID, author, date, and message).
xeus-cling - Jupyter kernel for the C++ programming language
cpp-project - Boiler plate template for C++ projects, with CMake, Doctest, Travis CI, Appveyor, Github Actions and coverage reports.
plotters - A rust drawing library for high quality data plotting for both WASM and native, statically and realtimely 🦀 📈🚀
cmake-examples - Useful CMake Examples
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)
cmake-sfml-project - Repository template for SFML projects using CMake
doctest - The fastest feature-rich C++11/14/17/20/23 single-header testing framework