[SDK] DLLにグローバル変数を定義した場合,DLLを利用するアプリケーション間で共有出来るのか?
技術ノート
2012/08/23
[番号]
技術ノート KGTN 2012082301
[現象]
[SDK] DLLにグローバル変数を定義した場合,DLLを利用するアプリケーション間で共有出来るのか?
[説明]
DLLのグローバル変数は,それを呼び出したプロセス毎に割り当てられますので,グローバル変数をアプリケーション間で共有することは出来ません.共有する場合は,以下のように共有データセグメントとして定義する必要があります.
#pragma comment(linker,"/section:shared,rws")
#pragma data_seg("shared")
int iRequest = 0;
#pragma data_seg()
詳細については,マイクロソフト社の下記ページをご覧下さい.
http://msdn.microsoft.com/ja-jp/library/h90dkhs0(v=vs.80).aspx
DLL 内のデータをアプリケーションまたはほかの DLL と共有する方法