我正在使用“#pragma pack(1)”设置调用使用 VisualStudio 2005 编译的 DLL。因此,结构对齐 (SA) 没有填充以实现快速数据访问 [1]。我认为 JVM 是使用正常结构对齐 [2] 编译的。
所以我想知道我的选择是什么?对 dll 的调用(我不在 Codecontrol 中)正在通过一个包装 dll(我在 Codecontrol 中)。
- 我可以用另一个 SA 设置从 Wrapper 中调用一个 dll 吗?因此,从 Java 调用的 Wrapper-Dll 使用正常的 SA 设置并调用使用 #pragma pack(1) 集编译的 dll。
- 是否可以在 JNI 中进行设置以调用带有#pragma pack(1) 集的 dll?
- 我也可以使用 JNA。有没有可能做这样的设置。
[1] #pragma pack 效果
[2] http://www.velocityreviews.com/forums/t128433-jni-with-1-byte-alignment-crashes-jvm.html