Project

General

Profile

[SDK] DLLにグローバル変数を定義した場合,DLLを利用するアプリケーション間で共有出来るのか?

技術ノート
08/23/2012

[番号]
技術ノート 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 と共有する方法

Files

KGTN2012082301.pdf (54.4 KB) kitasp 技術センター, 08/23/2012 02:55 PM