Writing portable and readable C code that still compiles efficiently is very important for developers of all types of computer systems. For embedded systems, the size of the generated code and the data is very important, since using smaller external memory or on-chip memory only can decrease the cost and power consumption of a system significantly .

This article discusses how to help a modern, highly optimizing C compiler generate small and efficient code, while writing maintainable, readable, and portable C code.