Merge branch 'master' into patch-1

This commit is contained in:
Jason Turner
2020-05-17 08:22:00 -06:00
committed by GitHub
3 changed files with 21 additions and 17 deletions

View File

@@ -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.

View File

@@ -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)

View File

@@ -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)