小编con*_*yyy的帖子

如何在Java中声明uint8_t数组

我的DLL中有一个C++函数需要一个uint8_t数组作为输入参数,所以数组看起来像这样:

uint8_t input[input_length] = { 0x30, 0x41, 0x80, 0x8A...}; 
Run Code Online (Sandbox Code Playgroud)

我想在Java中使用这个函数与JNA,这意味着我必须在Java中创建一个uint8_t数组.我的第一种方法是创建一个字节数组,如:

byte[] input = { 0x30, 0x41, 0x80, 0x8A...}; 
Run Code Online (Sandbox Code Playgroud)

但后来我意识到,C++中的uint8_t变量的范围是0..255,但是Java中的一个字节变量的范围是-128..127,正如您所看到的,这个数组包含超过127的值(如0x8A),这意味着我的Java声明无效.所以我的问题是Java中的哪种类型等同于uint8_t?

c++ java type-conversion jna

4
推荐指数
1
解决办法
407
查看次数

标签 统计

c++ ×1

java ×1

jna ×1

type-conversion ×1