轉載地址:http://blog.csdn.net/thimin/article/details/1539960
看了網上別人的文章,以前對ifndef的含義一直有些困惑。現在終於明白了。
以下文件在"os_cpu.h"中。
#ifndef __OS_CPU_H__
#define __OS_CPU_H__
/*
中間有許多定義啦聲明啦!;;
*/
#endif /*__OS_CPU_H__*/
這樣,在編譯階段(ifndef是在編譯階段起作用滴!)假設有兩個文件同時include了這個文件(os_cpu.h),這兩個文件如果一個先編譯了,那麼__OS_CPU_H__就被定義了。當編譯到第二個文件的時候,那麼在開始的判斷(ifnef)就會自動跳出os_cpu.h這個文件的重複編譯。這樣就避免了重複編譯文件。。