如何編寫本身的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。

相關文章
相關標籤/搜索