您现在的位置是:网站首页> Android

JNI简单入门

  • Android
  • 2022-03-29
  • 832人已阅读
摘要

java的数据类型和C++的对应关系(大部分可用,小部分需要根据实际情况调整),可能是由于内容开始是网络地址(http://...)完整的英文词截取后不能换行造成 为避免代码造成手机端排版的混乱,可适当增加文字描述,将代码往后推移

C++ Java
char * String
word short
byte byte
byte[] byte[]
dword int
long NativeLong
Void * Pointer
lpvoid Pointer
lpDword IntByReference
HWND HWND
char[] byte[]
byte * Pointer

Java和C的数据类型对照表

Java 类型 C类型原生表现
boolean int 32位整数(可定制)
byte char 8位整数
char wchar_t 平台依赖
short short 16位整数
int int 32位整数
long long,__int64 64位整数
float float 32位浮点数
double double 64位浮点数
Buffer/Pointer pointer 平台依赖(32或64位指针)
pointer/array 32或64位指针(参数/返回值)邻接内存(结构体成员)
String char* /0结束的数组(nativeencodingorjna.encoding)
WString wchar_t* /0结束的数组(unicode)
String[] char** /0结束的数组的数组
WString[] wchar_t** /0结束的宽字符数组的数组
Structure struct*/struct 指向结构体的指针(参数或返回值)
(或者明确指定是结构体指针)结构体(结构体的成员)
(或者明确指定是结构体)
Union union 等同于结构体
Structure[] struct[] 结构体的数组,邻接内存
Callback (*fp)() Java函数指针或原生函数指针
NativeMapped varies 依赖于定义
NativeLong long 平台依赖(32或64位整数)
PointerType pointer 和Pointer相同


Top