作者septemhill (冰淇淋乾杯)
看板LinuxDev
标题[问题] offset指标问题
时间Sun Feb 28 15:50:56 2010
请教各位一个问题,在LDD3中的scull中,有一个地方不甚了解
在write的operation,*f_pos需要平移count个资料量,这个我明白
但是为什麽在read的operation中,*f_pos也要平移count个资料量呢?
下面我提一下我的问题段程式algo(另一开始*f_pos = 0,count = 10):
write:
copy_from_user(dest + *f_pos, source, count);
*f_pos += count; //此时*f_pos由0->10
read:
copy_to_user(source, dest + *f_pos, count);
*f_pos += count;
我的问题在於,我在write shift 了 *f_pos
这样read时,却是从加了平移量的位址开始读取
然後明明没有新增资料,却又增加了平移量
请问这应该作何解释?还请各位指点一下,谢谢
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.118.6.66