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


  2008-04-09 20:08:55  No: 67984

開発環境:VS2005、VC++ WinXP

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


そだ  2008-04-09 20:40:12  No: 67985

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

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


  2008-04-09 22:48:51  No: 67986

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


オショウ  2008-04-10 23:38:38  No: 67987

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


シャノン  2008-04-11 02:59:59  No: 67988

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


YuO  2008-04-11 07:04:54  No: 67989

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加