一般情况下我们使用ALIGN_DEFAULT,即在封装的时候不需要任何修饰,但在C结构体添加字节对齐标识的时候,需要使用super(ALIGN_NONE),例如:
C结构体:
#pragma pack(4)
struct test
{
char ch;
int i;
short st;
}tt;
#pragma pack
此结构体表示使用四字节对齐,若使用默认方式可能会导致乱码,需要使用ALIGN_NONE,这种对齐方式,JAVA代码如下:
public class TT extends Structure{
public byte ch;
public int i;
public short st;
public TT(){
super(ALIGN_NONE);
}
...
}