64 位架构上 Jni 中的指针大小是多少
我正在使用 Jni 为 C++ 项目开发 Java 包装器。 由于我遇到了一些麻烦(空指针异常),我正在调查。 我正在使用 gcc 和 jdk-1.6 在 x64 Linux 架构上编译我的项目。 如果我查看jni_md.h
,在我看来,jlong
被定义为long long
。我认为正确的尺寸应该是long
。我只是想确保 jlong 被正确定义。
谢谢
I'm developing a Java wrapper for a C++ project using Jni.
As I'm having some trouble (null pointer exception), I'm investigating.
I'm compiling my project on a x64 linux architecture using gcc and jdk-1.6.
If I look at jni_md.h
it seems to me that jlong
is defined as long long
. I would think that the correct size would be long
. I just want to be sure that jlong is corectly defined.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
JNI
jlong
是 定义为 64 位(以匹配 Javalong
。)
长long
(在 C99 中)被定义为至少 64 位。它不能是 C
long
。 AClong
仅定义为至少 32 位。A JNI
jlong
is defined as 64 bits (to match a Javalong
.)A
long long
(in C99) is defined as at least 64 bits.It cannot be a C
long
. A Clong
is only defined as at least 32 bits.