《 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的大小。作者确实对“直截了当”一词很放松,并假设您将声明理解为“ Javaint
映射到32位C签名整数类型的Java ”。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句