Hice todo lo posible para Google esto, pero no pude encontrar una respuesta limpia en forma de tabla que muestra las conversiones de tipo.Conversión de tipo de C a Java
La razón por la que me gustaría convertir estos tipos, es porque estoy usando el NDK de Android para llamar funciones desde código nativo. El problema es que el código nativo llama a diferentes tipos que no existen en Java.
En realidad no tengo experiencia en C, y he descubierto que estos pocos tipos miran el código rápidamente. No dude en editar esta publicación para agregar diferentes tipos a convertir.
From C to Java
long ->
short ->
char ->
unsigned long ->
unsigned short ->
unsigned char ->
byte ->
Int8 ->
Int16 ->
Int32 ->
UInt8 ->
UInt16 ->
UInt32 ->
Además, si alguno de estos no se puede convertir en un tipo de Java, explique por qué.
Android Dalvik VM es una única máquina virtual de 32 bits, entonces la conversión debería ser trivial. Consulte también http://stackoverflow.com/a/11527544/841108 –
Los tipos firmados con anchuras especificadas deben asignarse a 'byte',' short' y 'int' según [esta página de Tutorial de Java] (http: // docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html). En cuanto a los demás, una forma de averiguarlo sería imprimir qué 'sizeof (long)' et al. decirle cuando se ejecutó en su dispositivo de destino. (El ancho de los tipos de datos C es en cierta medida específico del compilador y de la arquitectura). – millimoose
Pero '' proporciona tipos integrales de ancho conocido para C99. –