請教各位一個問題,在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