goruka writes "Often, when programming large applications in C++, the executable tends to get huge (several megabytes). I know that some factors (C++ features) such as inline abuse, templates, constructors, strings, etc. contribute to adding fat to the binary executable. Although this isn't a big problem in desktop PCs, which have gigabytes of RAM nowadays, it is very serious when writing for mobile or embedded devices. So my question is, are there any tools or profiling techniques to somehow "detect" which sections of a binary (functions, constants, , etc) are consuming the most space? I know that there are many memory, cpu, I/O profilers around, but executable binary size profiling seems not to be a common area of optimization..."