rustc
で fn main() {}
をコンパイル (strip = true
) すると、実行バイナリのサイズが 200 KB を超える。 #![no_std]\n#![no_main]
で 20 KB, -C link-arg=-nostartfiles
で 2 KB くらい。
static 変数の初期化などがあるにしても、 200 KB はちょっと大きすぎないか。 C++ (clang++ -s -O3 -static-libstdc++
) だと 20 KB くらいで、空の main なら libstdc++ の影響はほとんどない。
いい加減に調べてみると、バックトレース機能と (おそらくはその表示のために) フォーマッタが残っている。なるほど。