日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JNI中java类型的简写

發(fā)布時(shí)間:2025/6/17 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JNI中java类型的简写 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? 在JNI中,當(dāng)我們使用GetFieldID/GetStaticFieldID或GetMethodID/GetStaticMethodID及定義JNINativeMethod等時(shí),我們需要表示成員變量的類型,或函數(shù)傳入?yún)?shù)或返回的類型。JNI把Field的類型,或函數(shù)傳入?yún)?shù)或返回值的類型進(jìn)行簡(jiǎn)寫以char*的形式進(jìn)行表示。

? ? ?對(duì)于成員變量,直接用java類型的簡(jiǎn)寫表示成員變量的類型就可以 ? ? ?比如:"I"表示該成員變量是Int類型 ? ? ? ? ? ? ? ? "Ljava/lang/String;"表示該成員變量是String類型 ? ? ?示例1: ? ? ? ? ? ? ? ?jfieldID str = (env)->GetFieldID(objectClass,"name","Ljava/lang/String;"); ? ? ? ? ? ? ? ?jfieldID ival = (env)->GetFieldID(objectClass,"serial","I"); ? ? ?對(duì)于成員函數(shù),是以"(*)+"形式表示函數(shù)的有哪些傳入?yún)?shù),傳入?yún)?shù)的類型,返回值的類型。"()" 中的字符表示傳入?yún)?shù),后面的則代表返回值。 ? ? ?例如: ? ? ? ? ? ?"()V" 就表示void Func(); ? ? ? ? ? ?"(II)V" 表示 void Func(int, int); ? ? ? ? ? ?"(Ljava/lang/String;Ljava/lang/String;)I".表示 int Func(String,String) ? ? 示例2: static JNINativeMethod gPowerManagerServiceMethods[] = { /* name, signature, funcPtr */ { "nativeInit", "()V", (void*) android_server_PowerManagerService_nativeInit }, { "nativeSetPowerState", "(ZZ)V", (void*) android_server_PowerManagerService_nativeSetPowerState }, { "nativeStartSurfaceFlingerAnimation", "(I)V", (void*) android_server_PowerManagerService_nativeStartSurfaceFlingerAnimation }, }; ? ? ? 關(guān)于類型簡(jiǎn)寫,首先請(qǐng)參照下表。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 表A

Java 類型

符號(hào)

Boolean

Z

Byte

B

Char

C

Short

S

Int

I

Long

L

Float

F

Double

D

Void

V

objects對(duì)象

以"L"開頭,以";"結(jié)尾,中間是用"/" 隔開的包及類名。

比如:Ljava/lang/String;

如果是嵌套類,則用$來表示嵌套。

例如 "(Ljava/lang/String;Landroid/os/FileUtils$FileStatus;)Z"

另外數(shù)組類型的簡(jiǎn)寫,則用"["加上如表A所示的對(duì)應(yīng)類型的簡(jiǎn)寫形式進(jìn)行表示就可以了, 比如[I表示 int [];[L/java/lang/objects;表示Objects[],另外。引用類型(除基本類型的數(shù)組外)的標(biāo)示最后都有個(gè)";"

轉(zhuǎn)載于:https://www.cnblogs.com/Free-Thinker/p/6826204.html

總結(jié)

以上是生活随笔為你收集整理的JNI中java类型的简写的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。