>最適化が有効になっているからじゃないの?
>使われていないメンバをいじってるコードは最適化されて、
>実行バイナリにはならないはず。

なるほど。
確かに、最適化後のサイズを小さくしたいと考えて、
サイズを最小にする最適化をしていましたし、
コメントを付けた状態では何もしないプログラムですね。

しかし、それだけ最適化してくれるのなら、
両方とも最適化して同じサイズになって欲しいと思うのですが、
それをコンパイラに望むのは無理なのかな。

>というか、このコード動いてる?
これ、コンパイルすら通りませんでしたね。
元のソースはちゃんとコンパイルできたんですが、
ソースコードを切り出すときに変数名を変えたので、
その時に書き間違えてしまいました。

結局、サイズを大きくしてでもC++で書いて、
全部完成した時にサイズが大きすぎる場合は
改めてCで書くことにしました。

お返事ありがとうございました。