mirror of
https://github.com/cpp-best-practices/cppbestpractices.git
synced 2025-12-17 03:04:36 +03:00
Merge branch 'master' into patch-1
This commit is contained in:
@@ -33,7 +33,7 @@ Use an industry standard widely accepted build tool. This prevents you from rein
|
||||
* [Qt Build Suite](http://doc.qt.io/qbs/) - Crossplatform build tool From Qt.
|
||||
* [meson](http://mesonbuild.com/index.html) - Open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible.
|
||||
* [premake](https://premake.github.io/)
|
||||
|
||||
* [xmake](https://xmake.io) - A cross-platform build utility based on Lua. Modern C/C++ build tools, Support multi-language hybrid compilation
|
||||
|
||||
Remember, it's not just a build tool, it's also a programming language. Try to maintain good clean build scripts and follow the recommended practices for the tool you are using.
|
||||
|
||||
@@ -164,7 +164,7 @@ Not recommended
|
||||
|
||||
Start with very strict warning settings from the beginning. Trying to raise the warning level after the project is underway can be painful.
|
||||
|
||||
Consider using the *treat warnings as errors* setting. `/Wx` with MSVC, `-Werror` with GCC / Clang
|
||||
Consider using the *treat warnings as errors* setting. `/WX` with MSVC, `-Werror` with GCC / Clang
|
||||
|
||||
## LLVM-based tools
|
||||
|
||||
@@ -388,3 +388,7 @@ Don't forget to make sure that your error handling is being tested and works pro
|
||||
### Bloaty McBloatface
|
||||
|
||||
[Bloaty McBloatface](https://github.com/google/bloaty) is a binary size analyzer/profiler for unix-like platforms
|
||||
|
||||
### pahole
|
||||
|
||||
[pahole](https://linux.die.net/man/1/pahole) generates data on holes in the packing of data structures and classes in compiled code. It can also the size of structures and how they fit within the system's cache lines.
|
||||
|
||||
@@ -21,10 +21,10 @@ Consider using a typesafe library like
|
||||
|
||||
* https://foonathan.net/type_safe/
|
||||
* https://github.com/rollbear/strong_type
|
||||
* https://github.com/joboccara/NamedType
|
||||
|
||||
Note that stronger typing can also allow for more compiler optimizations.
|
||||
|
||||
|
||||
* [Sorting in C vs C++](Sorting in C vs C++.pdf)
|
||||
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
* [Considering Portability](06-Considering_Portability.md)
|
||||
* [Considering Threadability](07-Considering_Threadability.md)
|
||||
* [Considering Performance](08-Considering_Performance.md)
|
||||
* [Considering Correctness](09-Considering_Performance.md)
|
||||
* [Considering Correctness](09-Considering_Correctness.md)
|
||||
* [Enable Scripting](10-Enable_Scripting.md)
|
||||
* [Further Reading](11-Further_Reading.md)
|
||||
* [Final Thoughts](12-Final_Thoughts.md)
|
||||
|
||||
Reference in New Issue
Block a user