我一直在与JNI合作一段时间,但是我现在正在尝试的是要求我从一个类初始化一些JNI变量并将它们从另一个类中设置。
我的问题是,JNI对每个班级的工作方式是否相同(即每个班级没有私人地址空间)。 即,我在一个类(例如类A)中为我的C库(并设置它)中的一个文件范围变量分配内存。 这个变量是否仍然分配了内存(并设置为某些数据),让我从B类中使用它?
答案 0 :(得分:0)
我知道提供私有空间的唯一机制是线程本地存储。
静态分配或堆分配(malloc)由所有代码共享为可执行文件。
Windows API提供了一些变体,但我们明确地使用它。