我使用 JNI 已经有一段时间了,但是我现在尝试的是需要我从一个类初始化一些 JNI 变量并从另一个类设置它们。
我的问题是,JNI 对每个类的工作方式是否相同(即每个类都没有私有(private)地址空间)。 即,我从一个类(示例 A 类)为我的 C 库中的一个文件范围变量分配内存(并设置它)。 这个变量是否仍会分配内存(并设置为一些数据),以便我在 B 类中使用它?
最佳答案
我知道的唯一一种提供私有(private)空间的机制是线程本地存储。
静态分配或堆分配 (malloc) 由所有代码片段共享到一个可执行文件中。
Windows API 提供了一些变化,但我们明确地使用它。
关于java - 类之间的 Java 中的 JNI 作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12975888/