目前的write命令,只能写入32位的数值,也没有办法写入单字节,双字节之类的.当然也不能使用64位的.
我准备改造一下.
增加一个参数--bytes=N (N最大取值8也就是64位)
这样就可以最多一次性写入64位的数据,为了保持兼容性,默认情况下只写入32位数据(也就是上面N的默认值为4)
为了方便编程,我采用了如下代码
addr += offset;
arg = (char*)(unsigned int)addr;
p = (char*)(unsigned int)&val;
while(bytes--)
{
*arg++ = *p++;
}
bytes 默认值是4,最大值是8,可以是0,为0时就不写入任何数据了.
这样子write命令就会比较灵活,根据需要可以只改动N个字节的数据.
不知这样会不会有什么问题? |