//这个就是所谓的“模板”了,它使我们能够"看"到未知结构的内容。
typedef struct {
INT4 type;
INT4 len; // in byte
const char *name;
const char *format;
INT4 offset;
int bindtype; //default=0
} T_PkgType;
模板结构定义,每个成员一套,多个成员按次序组成数组。所有成员最后加一个尾标,type=-1;相当于尾零。
看楼上都有这么一行: {-1,0,0,0}
注意那个offset,就是成员相对于结构头的偏移量。写模板时不需要写。
第一个成员的offset写-1,这个是必须的。
第一次被使用时,程序发现这个是-1,就自动计算每个成员的offset,这一步就是倒推结构布局。计算结果,第一个成员的offset必定是0;这个就保证了计算只发生一次,这个系统的运行效率是非常高的。
【 在 ylh0315 的大作中提到: 】
: 现在给它配模板:
: T_PkgType st_tpl[]={
: {CH_TINY,1,"c",0,-1},
: ...................
--
修改:ylh0315 FROM 221.221.50.*
FROM 221.221.50.*