关键是把unsigned char *转换成unsigned int *
读操作:
static void read_buf(u_char *buf, int len)
{
unsigned int idx,num;
num = (len>>2);
for (idx=0; idx< num; idx++)
((u_int*)buf)[idx] = reg32(reg);
//余数
for (idx= num<<2; idx< len ; idx++)
buf[idx] = reg8(reg);
}
写操作:
static void write_buf(const u_char *buf, int len)
{
unsigned int idx,num;
num = (len>>2);
for (idx=0; idx< num; idx++)
reg32(reg) = ((u_int*)buf)[idx];
//余数
for (idx= num<<2; idx< len ; idx++)
reg8(reg) = buf[idx];
}
本文介绍了一种将unsigned char*类型指针转换为unsigned int*类型的技巧,并通过读写缓冲区的具体实现来展示这一过程。该方法适用于需要高效进行字节与整数间转换的场景。
2393





