我寫了一些代碼,它使用jni在java和c之間傳遞值。哪個JNI數據類型?
目前所有NUMERICS被定義爲int(JAVA) - > jnit(JNI/C) - >無符號整數(C)
代碼工作但它確實是低效的,因爲不是所有的數字是通所需要的內存可用於整數。
我有3種在我的代碼值這就需要持有數量範圍爲0至4294967295,0至255和0至1
我不能在所有3「語言」工作了兼容的數據類型。
Range Java C/JNI C
4294967296 int jint unsigned int
256 ??? ??? unsigned char
2 boolean jboolean ???
您能否告訴我需要使用哪些數據類型?
感謝 摹
在某些體系結構(特別是ARM)上使用32位值比使用16/8位體系結構更快。所以除非我們正在討論存儲空間,否則將參數傳遞爲'int' /'jint'可能是一個淨贏。 –