今天在看以前写的代码的时候发现了一个有趣的问题,明显写错了的代码,便系统还是正确的在跑,
代码如下:
前面已经打开了两个文件filp和filpm
下面是对他们的操作:
filp->f_op->write(filpm, fname, sizeof(fname), &filpm->f_pos);
filp->f_op->write(filp, (void *)written, sizeof(struct my_write), &filp->f_pos);
很明显第一个应该是filpm->f_op->write.....
但代码还是可以正确的跑?为什么呢?先放这以后有时间再分析吧:)
分析思路:第一个参数的作用。
阅读(699) | 评论(0) | 转发(0) |