what is the use of #ifndefs

anish singh anish198519851985 at gmail.com
Mon Jul 20 13:00:41 EDT 2015


On Mon, Jul 20, 2015 at 3:03 AM, Ahmed Soliman <ahmedsoliman0x666 at gmail.com>
wrote:

> currently I started reading through the linux kernel and I started
> reading liunx/include/linux/list.h> I understood some of the functions
> but still I dont know what does these lines of code do
> #ifndef _LINUX_LIST_H
> #define _LINUX_LIST_H
> which exist at the very beginning of the file
> I also noticed that there is many similar ifndefs in almost any .h
> file in the kernel
> note that I understand wnat does ifndef do bu I dont understand what
> goal is it supposed to achieve at the beginning of the headerfile
>

It makes sure that the file doesn't get included twice.Suppose
you have a.c and a.h file and  you have #include "thisfile"(where
you have that #ifndef thing) in both a.c and a.h file then it will
be included only once. Because once .c or .h includes it then
that particular #define is already defined so next time it will
not execute when someone tries to include it again.

Hope that helps.

>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150720/e8258c98/attachment.html 


More information about the Kernelnewbies mailing list