when i use preprocessor #if 0 ... #endif to cross out a bunch of sentences, then after building the target. I noticed the "data" memory usage increased, why? There is no error in the result.
"That is, the call tree still explodes unless we manually take out unused functions." I suppose what's really required is a compiler directive such as: #pragma IDONTUSEFUNCTIONPOINTERS