《 Java Native Interface程序员指南和规范》一书的第3章说“基本类型的映射很简单”,我对这句话有些困惑。我们知道c数据类型的大小是不确定的,它取决于程序运行,编译的环境,例如int类型的大小可以是2个字节或4个字节。但是java数据类型的大小是确定的。int的大小是4个字节。
因此,jni如何清楚地在java和c / c ++之间映射数据类型。
任何答案将不胜感激!
那么,在C,有一个叫模块stdint.h
定义的类型int64_t
,int32_t
和朋友们,这确实让映射“简单”。
但是您应该注意,在C的任何特定实现中,int
未精确指定plain old的大小。作者的确确实是个“直截了当”的单词,并且假设您会以“ Java的int
映射到32位C的有符号整数类型的映射”之类的名称来阅读该声明。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句