将指针转换为long

Casting pointers into long

本文关键字:long 转换 指针      更新时间:2023-10-16

我正在使用JNI(使用本机代码为Android开发)。

的情况是我想发送给Java类一个指针到本机对象。对于这一点,我看到过将指针方向转换为长,像这样:

long pointerDirection = (long)pointer;

安全吗?我读到过,在一些架构中,一个'长'只是32位,但指针只需要32位,对吗?还是64位,他们也用64位?

谢谢

安全吗?

不,绝对不是——标准没有这样的保证(即使它在许多机器上实际工作)。

可以安全地(仅)将其强制转换为整型ptrdiff_t