変数の初期化とか関係なくて、
クライアントコードからb.cppへの参照が無いから、
最適化で落とされちゃってるんじゃないの