C++相談室 part10
■ このスレッドは過去ログ倉庫に格納されています
0421デフォルトの名無しさん
NGNGVC++6でスタティックリンクライブラリを作っています。
グローバル変数のコンストラクタを使ってライブラリの初期化を
自動的に走らようとしているのですが、上手くいきません。
どうも、グローバル変数の初期化単位が、ファイル毎のようで
ファイルにアクセス行かないとコンストラクタが実行されないのです。
コレなんとかならないでしょうか?
========== ライブラリコード ===========
--- a.cpp ---
struct A{ A(){ std::cout<<"A"<<endl; } } g_ob;
void test_a(){}
--- b.cpp ---
struct B{ B(){ std::cout<<"B"<<endl; } } g_ob;
void test_b(){}
========== クライアントコード ===========
void test_a();
void test(){ test_a(); }
main(){}
これで "A" は表示されるのですが "B" が表示されません。
なにか良い方法はありませんか?
■ このスレッドは過去ログ倉庫に格納されています