下面的memset函数实现有什么问题?
说实在话我看不懂这个实现了什么,请详细讲解
下面的memset函数实现有什么问题?
void *memset(void *pv, byte b, size_t size)
{
byte *pb = (byte *)pv;
unsigned long l;
size_t sizeSize;
l = (b << 8) | b; /* 用4个字节拼成一个long */
l = (l << 16) | l;
pb = (byte *)longfill((long *)pb, l, size/4);
size = size % 4;
while (size-- > 0)
*pb++ = b;
return (pv);
}