如何編寫自己的C語言頭文件


一些初學C語言的人,不知道頭文件(*.h文件)原來還可以自己寫的。只知道調用系統庫函數時,要使用#include語句將某些頭文件包含進去。其實,頭文件跟.C文件一樣,是可以自己寫的。頭文件是一種文本文件,使用文本編輯器將代碼編寫好之后,以擴展名.h保存就行了。頭文件中一般放一些重復使用的代碼,例如函數聲明,變量聲明,常數定義,宏的定義等等。當使用#include語句將頭文件引用時,相當於將頭文件中所有內容,復制到#include處。為了避免因為重復引用而導致的編譯錯誤,頭文件常具有: 

#ifndef _DELAY_H_

#define _DELAY_H_

       //代碼部分

#endif

的格式。

其中,DELAY為一個唯一的標號,命名規則跟變量的命名規則一樣。常根據它所在的頭文件名來命名,例如,如果頭文件的文件名叫做stc15w.h,那么可以這樣使用:

#ifndef _STC15W_H_

#define _STC15W_H_

       //代碼部分

#endif

這樣寫的意思就是,如果沒有定義__STC15W_H__,則定義__STC15W_H__,並編譯下面的代碼部分,直到遇到#endif。這樣,當重復引用時,由於__STC15W_H__已經被定義,則下面的代碼部分就不會被編譯了,這樣就避免了重復定義。另外,使用#include時,使用引號“”與尖括號<>的意思是不一樣的。使用引號“”時,首先搜索工程文件所在目錄,然后再搜索編譯器頭文件所在目錄;而使用尖括號< >時,剛好是相反的搜索順序。

假設我們有兩個文件名一樣的頭文件stc15w.h,但內容卻是不一樣的。一個保存在編譯器指定的頭文件目錄下,我們把它叫做文件I;另一個則保存在當前工程的目錄下,我們把它叫做文件II。如果我們使用的是#include ,則我們引用到的是文件I。如果我們使用的是#include “stc15w.h”,則我們引用的將是文件II。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM