開発環境:VS2005、VC++ WinXP
1つのソリューション内で、あるプロジェクトAがあり、その中にグローバル変数が定義されています。 そのグローバル変数を、別のプロジェクトB内から参照するにはどのようにしたら出来るのでしょうか?
AとBが両方とも実行ファイルのプロジェクトの場合、
AとBは別プロセスになるためグローバル変数を互いに
直接参照することはできません。
プロセス間でのオーソドックスな値の渡し方としてパイプを使った
値のやり取りがありますが、他にもレジストリを使ったり、
物理的なファイル、メモリマップドファイル、ソケット通信
を使っても値を渡すことができ、用途に応じて使い分けます。
すみません、情報不足でした。
AもBもLIBなのですが。。
#pragma data_seg で、共有のデータセグメントを宣言してやれば
できるはず・・・
後は調べてみて下さい。
以上。
↑だと、すべてのexeインスタンスで共有してしまいそう。
.libが同一のプログラムにリンクされるならば,普通に
・一つの翻訳単位で定義する
・その他の翻訳単位ではexternを付けて初期化せずに宣言する
で,よいです。
ツイート | ![]() |