以下关于C/C++及Java数据类型间的映射关系摘自JNA官网,由于笔者英语水平有限就不做翻译了,但是只要你曾经是个C/C++程序员,估计能领悟到它的具体意思。
Default Type Mappings
Java primitive types (and their object equivalents) map directly to the native C type of the same size.
| Native Type | Size | Java Type | Common Windows Types |
| char | 8-bit integer | byte | BYTE, TCHAR |
| short | 16-bit integer | short | WORD |
| wchar_t | 16/32-bit character | char | TCHAR |
| int | 32-bit integer | int | DWORD |
| int | boolean value | boolean | BOOL |
| long | 32/64-bit integer | NativeLong | LONG |
| long long | 64-bit integer | long | __int64 |
| float | 32-bit FP | float | |
| double | 64-bit FP | double | |
| char* | C string | String | LPTCSTR |
| void* | pointer | Pointer | LPVOID, HANDLE, LPXXX |
Unsigned types use the same mappings as signed types. C enums are usually interchangeable with "int".
本文详细介绍了C/C++与Java之间的基本数据类型映射关系,这对于使用Java Native Access (JNA)进行跨语言编程尤为重要。通过了解这些映射规则,可以更好地实现C/C++与Java代码之间的互操作。
7735

被折叠的 条评论
为什么被折叠?



