1

MIDI シーケンサーで使用するいくつかのプラグインをコーディングしようとしていますが、つまずきにぶつかっています。メモリを共有する .dll の複数のインスタンスが存在する可能性があるため、グローバル スコープ変数を使用して情報を格納することはできません。

関数間でコンテンツを共有する 2 次元配列とその他の変数を含むクラス (他のプラグインでの再利用のため) を作成するにはどうすればよいですか? それが可能であれば、処理を行うフレームワークで関数からデータを読み書きするにはどうすればよいでしょうか?

4

3 に答える 3

1

What do you mean by "multiple instances of the DLL"? In Win32, every process has its own private address space, and DLLs with global variables are specific to that process. A DLL cannot be loaded more than once into the same process.

In the bad old days of Win16, DLL global variable space was shared between processes, which led to no end of headaches.

于 2011-01-06T03:50:23.083 に答える
0

プラグインクラスの咳クラス宣言で必要な変数を宣言するだけでが必要なC++のバージンエラーであることが判明しました。

助けてくれてありがとう。あらゆる種類の奇抜なポインター n を引数として持つクラスから情報を取得する方法についての質問で戻ってくるかもしれません。

乞うご期待!:)

于 2011-01-06T11:43:54.857 に答える
0

staticキーワードをお探しですか?

static int i = 1; //this keeps its value at each call
于 2011-01-06T03:45:26.020 に答える