プロジェクトをまたがるグローバル変数を参照するには?


 2008-04-09 11:08:55  No: 67984  IP: 192.*.*.*

開発環境:VS2005、VC++ WinXP

1つのソリューション内で、あるプロジェクトAがあり、その中にグローバル変数が定義されています。  そのグローバル変数を、別のプロジェクトB内から参照するにはどのようにしたら出来るのでしょうか?

編集 削除
そだ  2008-04-09 11:40:12  No: 67985  IP: 192.*.*.*

AとBが両方とも実行ファイルのプロジェクトの場合、
AとBは別プロセスになるためグローバル変数を互いに
直接参照することはできません。

プロセス間でのオーソドックスな値の渡し方としてパイプを使った
値のやり取りがありますが、他にもレジストリを使ったり、
物理的なファイル、メモリマップドファイル、ソケット通信
を使っても値を渡すことができ、用途に応じて使い分けます。

編集 削除
 2008-04-09 13:48:51  No: 67986  IP: 192.*.*.*

すみません、情報不足でした。
AもBもLIBなのですが。。

編集 削除
オショウ  2008-04-10 14:38:38  No: 67987  IP: 192.*.*.*

#pragma data_seg で、共有のデータセグメントを宣言してやれば
できるはず・・・
後は調べてみて下さい。
以上。

編集 削除
シャノン  2008-04-10 17:59:59  No: 67988  IP: 192.*.*.*

↑だと、すべてのexeインスタンスで共有してしまいそう。

編集 削除
YuO  2008-04-10 22:04:54  No: 67989  IP: 192.*.*.*

.libが同一のプログラムにリンクされるならば,普通に
・一つの翻訳単位で定義する
・その他の翻訳単位ではexternを付けて初期化せずに宣言する
で,よいです。

編集 削除