- use
inlinefor functions in header files (not static)staticsays that each TU should provide its own functioninlinesays to supress the one-definition rule, and allows the compilers to merge definitions later.
- use signed integer types wherever possible