Zum Beispiel, ich habe die folgende C++ Struktur ...JNA: Wie kann ich eine Struktur mit Feldern von benutzerdefinierten Bitgrößen definieren?
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
*/
};
Normalerweise kann ich Strukturen darstellt leicht in Java mit JNA, aber diese Struktur verwendet Mengen benutzerdefinierte Bits für die Datentypen (wenn ich mich nicht irre).
Zum Beispiel ist area
ein short
von Bits, anstatt Bits wie üblich. flags
ist eine Abkürzung von Bits ... usw.
Wie kann ich eine JNA-Struktur mit Datentypen von benutzerdefinierten Bitgrößen definieren?