0

2 つの C++ Dll 間で変数 (1000) を共有する必要があります。どうすればいいですか?

MyVariables.Dll内容:

int a = 0;

ModifyMyVariables.Dll内容:

extern int a;    
a++; 
// do more stuff with a;

以下のファイルには何を書けばいいですか?

myvariables.h
myvariables.cpp
ModifyMyVariables.h
ModifyMyVariables.cpp
4

1 に答える 1

1

いくつかの基本的なメカニズムを使用して、イメージ (EXE、DLL...) 間でデータを共有できます (extern を使用してもデータを共有することはできません - ローダーではなくリンカに指示するだけです!)

  1. インポート/エクスポート シンボルを使用 (標準のインポート アドレス テーブル/エクスポート テーブルを使用)
  2. データを含む静的セクションの使用
  3. データを含む動的セクションの使用

あなたの場合、セクションを使用します。これはかなりうまくいきます。もちろん、両側からこれらのデータにアクセス (書き込み) する場合は、同期に注意する必要があります。

于 2012-07-14T19:59:45.897 に答える