3

私はしばらくの間 JNI を使用してきましたが、現在、あるクラスからいくつかの JNI 変数を初期化し、別のクラスから設定する必要があります。

私の質問は、JNI がすべてのクラスで同じように機能するかどうかです (つまり、すべてのクラスにプライベート アドレス空間はありません)。つまり、1 つのクラス (クラス A の例) から C ライブラリの 1 つのファイル スコープ変数にメモリを割り当てます (そして設定します)。この変数には、クラス B から使用できるように、まだそのメモリが割り当てられていますか (そして、いくつかのデータに設定されていますか)。

4

1 に答える 1

0

私が知っている唯一のプライベート スペースを提供するメカニズムは、スレッド ローカル ストレージです。

静的割り当てまたはヒープ割り当て (malloc) は、すべてのコードで共有されて実行可能ファイルになります。

Windows API にはいくつかのバリエーションがありますが、明示的に使用しています。

于 2012-10-19T15:35:51.897 に答える