Optimize for Size with Preprocessor Directives

When working on embedded systems, optimizing for size can be crucial. Let’s even go beyond the compiler optimization flags by actually generating different code paths based on whether we are optimizing for size or speed.