Chinaunix

标题: What's the difference between NULL and 0 in 2.4 kernels? [打印本页]

作者: daiban    时间: 2007-01-25 13:04
标题: What's the difference between NULL and 0 in 2.4 kernels?
In 2.4 kernels, what's the difference between NULL and 0? I know at least one place that these two behave differently. The function remove_proc_entry()  takes two arguments, the first the name of the filenode, the second is the pointer to the parent directory, a NULL pointer means that filenode is directly under /proc directory. Now is the interesting part. The following function call

  1. remove_proc_entry("scullpmem", NULL);
复制代码


correctly removes the /proc/scullpmem file, while the next form

  1. remove_proc_entry("scullpmem", 0);
复制代码


doesn't work.

In the kernel source, NULL is defined as ((void *) 0).

Then what's the difference between NULL and 0? Thanks in advance.

====================================================

Sorry for troubling all you guys by this meanlingless question. Last Night I dug into the source code and found nothing interesting. In fact, by redoing the experiments I have got to know that the second form also worked. The malfunction must be caused by some reason, though not known yet.

Best Regards

[ 本帖最后由 daiban 于 2007-1-26 12:46 编辑 ]
作者: fuyic    时间: 2007-01-25 14:45
帮顶,看看高人对这个的解释
作者: fuyic    时间: 2007-01-25 18:51
楼主都不关心,我继续帮顶
作者: daiban    时间: 2007-01-25 21:07
To fuyic: I'm keeping an eye on this, ha ha.

Planing to read the fucking source code, and dig it out.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2