The comparison between C and C++ equivalents of the same task is very relevant, because there is a lot of shared runtime between C and C++. In other words:
code_size(C) = implementation(C) + runtime;
code_size(C++) = implementation(C++) + runtime;
In order to figure out how big "runtime" is, you have to try it both ways. Once you have this figure, you have to subtract it out, before making any statements about the code size induced by STL.
Try linking this statically (it's C, not C++):
On my system, the resulting binary is over 500k in size. So just because the C++ version is large doesn't necessarily mean anything at all. C can be bloated, too. The problem is not the language itself, but the toolchain.Code:int main() { printf("Hello, world!\n"); return 0; }