使用 JNI(更具体地说是 Android NDK)时,Java 是不是通过引用或值传递给 C

Posted

技术标签:

【中文标题】使用 JNI(更具体地说是 Android NDK)时,Java 是不是通过引用或值传递给 C【英文标题】:Does Java pass by reference or value to C when using JNI ( more specifically Android NDK)使用 JNI(更具体地说是 Android NDK)时,Java 是否通过引用或值传递给 C 【发布时间】:2010-12-14 10:48:38 【问题描述】:

在使用 JNI(更具体地说是 android NDK)时,Java 是否通过引用或值传递给 C

【问题讨论】:

【参考方案1】:

这取决于类型。原始类型通过值传递,引用类型通过...引用传递。见http://java.sun.com/docs/books/jni/html/types.html

【讨论】:

【参考方案2】:

我不会说 Android,但是 JNI 传递值就像 Java 一样,原始类型是按值传递的,所有对象(包括数组)都是通过引用传递的。 wiki article on JNI 很不错。

【讨论】:

以上是关于使用 JNI(更具体地说是 Android NDK)时,Java 是不是通过引用或值传递给 C的主要内容,如果未能解决你的问题,请参考以下文章

Android NDK开发入门

Android NDK: 如何编译JNI为指定的指令集(armeabi/arm64)

Android 使用 jni Demo示例

Android 使用 jni Demo示例

android studio怎么设置用32位ndk

使用Android Studio自带的NDK编译JNI