我正在使用 JNI(使用 native 代码为 Android 进行开发)。
这种情况是我想向 Java 类发送一个指向 Native 对象的指针。为此,我已经看到将指针方向转换为 long,如下所示:
long pointerDirection = (long)pointer;
这安全吗?我读过,在某些架构中,“long”只是 32 位,但指针只需要 32 位,对吗?或者在 64 位中他们也使用 64 位?
谢谢
最佳答案
Is this secure?
不,绝对不是——该标准没有做出这样的保证(即使它实际上可以在许多机器上运行)。
您可以(仅)安全地将其转换为整型 ptrdiff_t
。
关于c++ - 将指针转换为 long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23735479/