Например, у меня есть следующая C++ структура ...JNA: Как я могу определить структуру с полями пользовательских размеров бит?
struct dleaf_t
{
int contents; // OR of all brushes (not needed?)
short cluster; // cluster this leaf is in
short area : 9; // area this leaf is in
short flags : 7; // flags
short mins[ 3 ]; // for frustum culling
short maxs[ 3 ];
unsigned short firstleafface; // index into leaffaces
unsigned short numleaffaces;
unsigned short firstleafbrush; // index into leafbrushes
unsigned short numleafbrushes;
short leafWaterDataID; // -1 for not in water
//!!! NOTE: for maps of version 19 or lower uncomment this block
/*
CompressedLightCube ambientLighting; // Precaculated light info for entities.
short padding; // padding to 4-byte boundary
*/
};
Обычно я могу представлять структуры легко в Java с ЮНОЙ, но эта структура использует пользовательские битовые суммы для типов данных (если я не ошибаюсь).
Например, area
является short
из битов, а не битов, как обычно. flags
не хватает бит ... и т. Д.
Как определить структуру JNA с типами данных пользовательских размеров бит?