2015-06-09 3 views
1

Скажем, у меня есть Могу ли я наследовать примитивный тип в примитивный тип JNI, не беспокоясь о контенте?

const uint16_t n = 0x0001; 

Тогда я могу бросить, как это?

const jint j = (jint) n; 

Не беспокоясь о байтов родной платформе?

Дополнение

У меня есть функция изменяет значение в массиве полукокса.

char * value_to_array(void * value, const size_t size) { 
    char * array = malloc(size); 
    if (array != NULL) { 
    memcpy(array, value, size); 
    } 
    return array; 
} 

Теперь я должен заботиться о порядке байт, не так ли? Как насчет вышеуказанного простого актера?

ответ

1

Затем можно ли как-то нарисовать?

Да. JNI primitive types are machine-dependent.

Ваш второй пример сохраняет все, что имело место в источнике, которое вы не указали.

+1

@downvoter Поздравляем, вернем правильный ответ с подтверждающей ссылкой. – EJP

+0

Итак, в первом литье я могу безопасно вернуть литую 'jint' на сторону Java, а значение будет' 0x0001', а не '0x0100'? Правильно? –

Смежные вопросы