>>422
直接、呼び出しているわけではないので多分平気です。
念のため、宣言だけ抜き出してクライアントに
インクルードさせてみましたが、結果は変わりませんでした。

>>423
未定義なのは翻訳単位での初期化順だと思っていたのですが。
mainが呼ばれる前にcpp_init?で初期化されるんですよね。
CPP_UNITでテストの登録とかもグローバル変数のコンストラクタで
やってたと思ったけど、違ったっけ?

>>424
>>425

一度.libに落ちているのですが、それでも削除されてしまうようですね。

未参照グローバル変数の削除は規約上、正当な最適化なのでしょうか。
コンストラクタで何をやっているか分からない以上、リンカで削るのは
無理な気がするのですが。

ライブラリ側のオプションで最適化の抑止は無理っぽいし、
皆さんなら.libファイルの初期化はどのようにやらせますか。
COMみたく明示的に呼び出させるのが楽は楽なんだけど。