项目原因,需要和 c 进程进行交互,使用 netty 发字节流消息。比如说定义接口
c 端结构体有 unsinged int 字段, java 端如何定义呢, int 的话会比 c 端能取到的值要小,使用 long 的话,像 buffer 中写入时字节又过多。
求解各位是怎么解决的呢?
c 端结构体有 unsinged int 字段, java 端如何定义呢, int 的话会比 c 端能取到的值要小,使用 long 的话,像 buffer 中写入时字节又过多。
求解各位是怎么解决的呢?

1 ljbha007 Oct 27 2015 如果 C 那边 int 是 32 位的话 那 java 只能用 long 写字节流的时候自己手动 把最后 32 位写到字节流里 |
2 SoloCompany Oct 28, 2015 read / write 用 int ,使用的时候可以赋值给 long ,对于小于 0 的 int 赋值后要加上 4G |
3 vikeria OP @SoloCompany 呃,能问下 4G 是什么吗- - |
4 Comdex Oct 28, 2015 不明觉厉 |
6 SoloCompany Oct 28, 2015 @vikeria x = x & 0xFFFFFFFFL |
7 vikeria OP @SoloCompany soga. thx a lot. |