This is an old revision of the document!
- Remove string duplication (search binary with string utility to find out how much space you can save)
- Use integer error codes rather than showing error strings
- Literal pool usage reduction
- e.g. when going from ARM to Thumb
- group globals into structures
- .sinit usage (construct instead simple global structs)
- selectively enable optimization for some files
- refactoring duplicate code
- reduce usage of standard library functions
assertions
#define ASSERT(expr) \
if (expr) \
{} \
else \
aFailed(F_NUM, __LINE__)