问题标签 [bridj]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在 64 位应用程序中以 32 位模式使用 BridJ?
我正在尝试以不确定是否受支持的方式使用 BridJ:
我有一个 64 位应用程序。我通过调试器接口获得了一个包含 32 位应用程序内存的字节数组。
我想使用 BridJ 将此字节数组的内容解析为 C 数据类型。我通过使用Pointer.pointerToBytes().as(my_struct.class).get()
. 此技术适用于 32 位应用程序。但在 64 位应用程序中它不会,因为 BridJ 使用主机应用程序的字长(64 位),而我想使用字节数组的字长(32 位)。
可以这样做吗?是否可以手动切换 BridJ 的字长,以便 BridJ 使用 32 位字,即使它在 64 位应用程序中运行?
我正在尝试做的更长的例子
更多细节
- 我使用JNAerator生成 BridJ 类
- 我尝试使用 JNAerator
-arch
标志,但它似乎并没有达到我想要的效果。 - 我没有将本机库与 BridJ 一起使用,我只是使用 BridJ 来读取通过调试器 API 获得的字节数组。