我尽力通过谷歌搜索,但无法找到一个干净的表格形式来展示类型转换。
我想要进行这些类型的转换,是因为我正在使用Android NDK从本地代码调用函数。问题在于本地代码调用了Java中不存在的不同类型。
实际上,我没有C语言经验,只是快速查看了一些代码并找到了这些少数类型。请随意编辑此帖以添加需要转换的不同类型。
From C to Java
long ->
short ->
char ->
unsigned long ->
unsigned short ->
unsigned char ->
byte ->
Int8 ->
Int16 ->
Int32 ->
UInt8 ->
UInt16 ->
UInt32 ->
此外,如果其中任何一个无法转换为Java类型,请解释原因。
byte
,short
和int
。至于其他类型,一种找出方法是在目标设备上运行sizeof(long)
等命令并打印输出结果。(C数据类型的宽度在某种程度上取决于编译器和架构。) - millimoose<stdint.h>
为 C99 提供了已知宽度的整数类型。 - Basile Starynkevitch