このようなグローバル変数を定義する静的ライブラリlibStaticがあります
ヘッダファイルlibStatic/globals.h
:
extern int globvar;
コードファイルlibStatic/globals.cpp
:
int globvar = 42;
DLL libDynamicと実行可能ランナーは、このグローバル変数を使用しています。さらに、libDynamic
実行時にランナーLoadLibrary()
にリンクされます( 、 、および作品を介しGetProcAddress()
て...)
これにより、ランナーのヒープに1回、 libDynamicのヒープにglobvar
1回、2回作成されることになることを理解していますが、これはもちろん非常に望ましくありません。
このあたりに良いところはありますか?libDynamicとrunnerが同じものを使用していることを確認するにはどうすればよいglobvar
ですか?