DLL をまたいだ balor ライブラリの使用方法

balor ライブラリはスタティックリンクライブラリなので通常 DLL を添付する必要はありません。
Hello world サンプルプログラムも exe の大きさは 57kb 程度ですみます。

しかしスタティックリンクライブラリということは
exe ファイルのプロジェクトと exe ファイル内で使う DLL のプロジェクトの
両方で balor ライブラリを使用した場合、それぞれにライブラリが別々にリンクされて
グローバル変数領域が複製されてしまいます。
これではライブラリの動作に問題が出てしまうのでこのような場合は
exe ファイルと一緒に balor_singleton.dll を添付する必要があります。
この dll は balor ライブラリの lib ディレクトリの中に入っています。
balor はグローバル変数にアクセスする前にこの dll の存在を調べ、
見つかった場合はグローバル変数が既に取得済みかどうかを dll に聞きにいきます。
こうして balor を複数のプロジェクトにリンクしている場合でも
グローバル変数が複製されずにすみます。
この仕組みは balor ライブラリのクラスである balor::Singleton クラスに実装されているので
balor ライブラリから使うことができます。