當前位置:首頁 » 編程語言 » c語言頭文件編寫

c語言頭文件編寫

發布時間: 2023-12-01 19:31:47

c語言里怎樣建立頭文件

你就所有函數去掉main後存起來,放在當前目錄下就可以了以後要用就#include " *.h "就行了,用.c的也可哦 但如果你想和那編譯器的頭文件一樣,就是上面那兄弟說的,不過要把你的函數都編譯成*.obj 文件,用tlib.exe(我的是TC3)把它加到庫函數中去, *.lib現在就可以#include "*.h"包含它了,如那個CS.lib就可以,因為我們一般是用用小型編譯的就在命令行: tlib.exe cs.lib+*.obj (注意具體放在哪的路徑寫清楚,如:e:\..\..我省略而已)

⑵ C語言頭文件裡面應該寫什麼東西

1、一般做法是頭文件里只寫 函數 原型。函數定義部分可以編譯成 .obj 形式。應用時,調用程序里寫頭文件和調用語句,編譯時,把.obj 鏈接進去就可以了。你也可以把頭文件和 .obj 給別人,別人可以使用你的函數,但看不見你的源程序 -- 庫程序的基本原理就是這樣的。當然,不編成.obj ,而直接把10多個函數源程序寫進去也可以。

2、C語言頭文件

(1)在C語言家族程序中,頭文件被大量使用。一般而言,每個C++/C程序通常由頭文件(header files)和定義文件(definition files)組成。頭文件作為一種包含功能函數、數據介面聲明的載體文件,主要用於保存程序的聲明(declaration),而定義文件用於保存程序的實現 (implementation)。 .c就是你寫的程序文件。

(2)一般在一個應用開發體系中,功能的真正邏輯實現是以硬體層為基礎,在驅動程序、功能層程序以及用戶的應用程序中完成的。頭文件的主要作用在於多個代碼文件全局變數(函數)的重用、防止定義的沖突,對各個被調用函數給出一個描述,其本身不需要包含程序的邏輯實現代碼,它只起描述性作用,用戶程序只需要按照頭文件中的介面聲明來調用相關函數或變數,鏈接器會從庫中尋找相應的實際定義代碼。

(3)從以上結構圖來看,頭文件是用戶應用程序和函數庫之間的橋梁和紐帶。在整個軟體中,頭文件不是最重要的部分,但它是C語言家族中不可缺少的組成部分。編譯時,編譯器通過頭文件找到對應的函數庫,進而把已引用函數的實際內容導出來代替原有函數。進而在硬體層面實現功能。

⑶ C語言如何寫頭文件

/*頭文件內容,假設名字是test.h*/
#ifndef MYHEADFILE
#define MYHEADFILE
void InitInterpolation();
void Draw_Border();
void Draw_Background();
void Draw_Gray();
#endif
/*以下是test.c的內容*/
#include "test.h"
/*後面就是各個函數的實現*/

同項目中其他各個文件需要使用這些函數時只需要下面這樣一句:
#include "test.h"
千萬不要包含.c文件,會出現重復定義問題

⑷ C語言定義一個頭文件的格式和引用它的方法

擴展名為.h的文件,在C語言中被稱為header file, 也就是頭文件。

頭文件的數據格式就是普通的文本文件,可以通過新建文本文件(txt),再把擴展名改為.h的方式創建,在此不贅述。


一、頭文件內容格式。

頭文件內容並沒有固定的格式要求,不過一般為防止嵌套引用給編譯器帶來死鎖或者沒必要的開銷,一般約定整個頭文件中所有內容在一個條件編譯下,即如下格式:

#ifndef 宏名

#define 宏名

//頭文件主體

#endif

這樣可以保證一個頭文件在一個源文件中最多隻被引用一次。為避免宏名重復,宏名一般由頭文件名轉換而來,如果頭文件名是xxx.h,那麼宏名一般定義為:

_XXX_H_

即前後各加一個下劃線,同時文件名中除數字、字母、下劃線以外的字元均轉換為下劃線(_)。


頭文件主體中內容同樣沒有做強制約定,可以出現在源文件(.c)中的任何代碼均可以放在頭文件中。不過一般情況下可以包括以下幾種內容:

1 引用其它頭文件,格式為

#include <xxx.h>

#include "xxx.h"

二者區別在介紹頭文件引用時再詳細介紹。

2 定義私有類型。比如

typedef unsigned long U32; //為了簡寫而給無符號32位整型定義一個新的名字

struct xxx {};

也可以是enum, union等復雜類型。

3 宏定義。比如

#define MAX(a,b) (a>b?a:b)

4 函數聲明。比如

void test_function(void);

5 全局變數聲明。比如

extern int global_var;

6 如果有一個靜態全局變數需要在不同源文件中使用,但各文件之間互不相關。那麼可以放在頭文件中。如:

static int gs_var = 3;


7 對於支持C99規范的C編譯器,還可以把內聯函數定義在頭文件中。比如

staticinlineintget_min(inta,intb)
{
if(a>b)returnb;
returna;
}

以上是常見的頭文件中的元素。但實際上頭文件中也可以放全局變數的定義,全局函數的實現等。但是頭文件中一旦定義了這樣的元素,這個頭文件在一個工程中只能被一個文件引用,否則編譯器會報重復定義的錯誤。

比如如果有一個規模很大的常量數組,比如一副圖片的二進制值,如果把它定義在源文件中,就會顯得很冗餘,因為並不會經常修改。 這時可以定義在頭文件中,只在一個源文件中引用,當有多幅圖片需要隨時更換時,也可以通過簡單的在源文件中修改引用的頭文件名達到修改的目的。


二、頭文件的引用。

頭文件引用的方法其實之前已經大致說過了,在源文件中引用頭文件和在頭文件中引用的格式是一樣的:

#include<xxx.h>或者

#include "xxx.h"

xxx為頭文件名。

用<>和""是有一定的區別的。在編譯器查找頭文件的時候,會在兩個區域分別查找。

一個是系統頭文件區域,即類似於stdio.h一類的C庫函數頭文件區。

另一個是自定義頭文件區,比如當前目錄,以及其它自定義的目錄。

用<>時,編譯器會先在系統區域查找,然後再查找自定義區域。而用""時則相反。

由於一般並不推薦自定義頭文件名與系統頭文件名相同(容易引起歧義並難以維護),所以先後順序並不是太重要,尤其在硬體速度越來越快的今天,使用哪種符號引用頭文件已經差別很小了。

⑸ 在c語言中,如何自定義頭文件

自定義頭文件通常放在使用該頭文件的源文件所在的目錄中,並使用#include "MyHead.h"來包含。保存的地方和是否編譯等都不是頭文件決定的,頭文件只是用來聲明。

在c語言中,頭文件作為一種包含功能函數、數據介面聲明的載體文件,主要用於保存程序的聲明(declaration),而定義文喊飢伍件用於保存程序的實現 (implementation)。C語言的的頭文件以「.h」為後綴,而.c是程序文件。

頭文件一般由四部分內容組成:頭文件開頭處的版權和版本聲明、預處理塊、inline函數的定義和函數和類結構聲明等。在頭文件中,用 ifndef/define/endif結構產生預處理塊,用 #include 格式來引用庫的頭文件。

自定義頭文件的方法:鄭或

1、在.h頭文件中就包含函數的實現,.h文件包含以下函數:

void hello(void){printf("hello world ");}

2、在.h頭文件中只包肢扮含一些函數的聲明,沒有具體的實現。需要包含.h和.c文件,.c文件程序如下:

#include <stdio.h>

#include "test.h"

int main()

{hello();

return 0;}

(5)c語言頭文件編寫擴展閱讀

C語言中,頭文件的功能:

1、頭文件可以定義所用的函數列表,方便查閱你可以調用的函數。

2、頭文件可以定義很多宏定義,就是一些全局靜態變數的定義,在這樣的情況下,只要修改頭文件的內容,程序就可以做相應的修改,不用到繁瑣的代碼內去搜索。

3、頭文件只是聲明,不佔內存空間,要知道其執行過程,需要知道頭文件所申明的函數是在哪個.c文件里定義的。

4、調用了頭文件,就等於賦予了調用某些函數的許可權,如果你要算一個數的N次方,就要調用Pow()函數,而這個函數是定義在math.c裡面的,要用這個函數,就必需調用math.h這個頭文件。

⑹ 在c語言中,如何自定義頭文件

自定義頭文件通常放在使用該頭文件的源文件所在的目錄中,並使用#include "MyHead.h"來包含。

頭文件是不編譯的,因為C語言編譯過程之前有個預編譯過程。在這個過程中用頭文件中的內容替換源文件中「#include」命令,所以在編譯器看來,沒有頭文件,只有源文件。預編譯過程還包括條件編譯。

頭文件為了防止被重復包含,通常的格式是:

/* MyHead.h */

#ifndef _MYHEAD_H_

#define _MYHEAD_H_

(這里是頭文件的內容)

#endif /* _MYHEAD_H_ */

拓展資料

C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。



熱點內容
php取文本框值 發布:2025-01-25 05:08:50 瀏覽:245
怎麼查看伺服器狀態 發布:2025-01-25 05:08:42 瀏覽:716
win7無法訪問xp共享列印機 發布:2025-01-25 05:05:04 瀏覽:805
編程刷分 發布:2025-01-25 04:55:07 瀏覽:631
世界服務密碼是多少 發布:2025-01-25 04:42:52 瀏覽:48
專車配置有哪些 發布:2025-01-25 04:42:46 瀏覽:570
java培訓班收費 發布:2025-01-25 04:37:53 瀏覽:767
密碼鎖如何密碼解鎖 發布:2025-01-25 04:25:16 瀏覽:385
ebay如何上傳產品 發布:2025-01-25 04:04:37 瀏覽:824
java判斷是否手機訪問許可權 發布:2025-01-25 04:02:28 瀏覽:807