當前位置:首頁 » 電腦資訊 » 為什麼要創建頭文件

為什麼要創建頭文件

發布時間: 2022-07-01 03:51:13

⑴ VS中C++程序系統都要加個"stdafx"頭文件,這個干什麼用的

stdafx.h : 標准系統包含文件的包含文件

VC創建項目時自動創建的預編譯頭文件,在編譯其他文件之前,VC先預編譯此文件。頭文件stdafx.h引入了項目中需要的一些通用的頭文件,比如window.h等,在自己的頭文件中包括stdafx.h就包含了那些通用的頭文件。
所謂頭文件預編譯,就是把一個工程(Project)中使用的一些MFC標准頭文件(如Windows.H、Afxwin.H)預先編譯,以後該工程編譯時,不再編譯這部分頭文件,僅僅使用預編譯的結果。這樣可以加快編譯速度,節省時間。
預編譯頭文件通過編譯stdafx.cpp生成,以工程名命名,由於預編譯的頭文件的後綴是「pch」,所以編譯結果文件是projectname.pch。
編譯器通過一個頭文件stdafx.h來使用預編譯頭文件。stdafx.h這個頭文件名是可以在project的編譯設置里指定的。編譯器認為,所有在指令#include "stdafx.h"前的代碼都是預編譯的,它跳過#include "stdafx. h"指令,使用projectname.pch編譯這條指令之後的所有代碼。
因此,所有的CPP實現文件第一條語句都是:#include "stdafx.h"。

⑵ 在C語言中創建源文件跟頭文件有什麼區別

有區別,頭文件不參加編譯,只是調用,可以定義類,結構體,聯合體等等
源文件要參見編譯,並且可以包含頭文件,main()函數只能在源文件中,定義函數,
頭文件可以進行的,源文件都可以進行,反之不然。
還有他們拓展名不同,頭.h 源文件.cpp

⑶ C語言中新建一個C/C++頭文件和一個與C/C++源文件有什麼區別

1、相同點:
頭文件與源代碼都是源文件,都用純文本文件存儲,都需要遵照C/C++語言規范來寫,都可以使用類型定義和常、變數定義,都可以包含函數的聲明和實現,都能包含宏定義,都使用相同的調用規范。

2、不同點:
C/C++的編譯器規定源代碼文件必須包含函數入口,即main函數,或者winmain函數。而頭文件不得包含函數入口,也就是說,頭文件不可以單獨編譯成一個程序,僅僅包含程序片斷或者僅僅定義常、變數。

3、關聯:
頭文件是專為源代碼調用而寫的靜態包含文件,可被源代碼文件中的#include編譯預處理指令解釋,而將頭文件完整拷貝到源代碼的指令處,從而在編譯時相當於在源代碼中插入了函數聲明或者實現。
某些頭文件包含了靜態庫中的函數調用聲明,包含了LIB文件的調用信息,編譯時靜態鏈接進程序;而某些頭文件是專為方便API調用而寫的,裡麵包含了動態鏈接庫的調用信息和規范,只有在運行時將DLL載入內存提取函數執行。
也就是說,其實你將頭文件里的信息完全寫到源代碼里,是可以實現完全相同的功能的。如果想要學寫頭文件,可以參照標准C/C++庫的h文件。

⑷ C++中建立工程是自己建立自己的頭文件有何好處怎樣建立

你以後如果做一個較大的工程,就需要用到很多自己定義的函數等,那樣可以節省時間,又可以讓代碼更加簡潔,而且自己的函數,不管哪個程序都是可以調用的

⑸ C++ 怎麼自己創建頭文件

1、打開vc++6.0編譯器,如圖選擇新建功能。

⑹ 創建靜態庫/動態庫一定要有頭文件嗎為什麼

不一定需要。創建一個庫一般處於一下兩種目的:
1、把一些相關的代碼,打包成一個庫,發布給其它的人用。
這中情況是最常見的情況,如寫
C
語言用到
libgcc。在這種情況下,你除了提供庫文件:靜態庫[
windows

.lib,linux
.a];動態庫:[Windows

.dll,Linux

.so]
之外,必須提供頭文件。頭文件是你這個庫裡面提供了那些介面可以供外界使用。如果沒有頭文件,其他人無法使用。
2、為某些軟體寫插件。
很多大的項目,都是模塊化設計,留有一些特定的介面,方便定製。當程序運行時,會動態載入制定目錄下的動態庫,運行時調用動態庫裡面約定好的方法。
這種情況無需提供頭文件,但要按照特定的約定來實現這個庫。
大概就是以上這些情況。

⑺ 為什麼在c++系統中會新建立帶擴展名為h的頭文件

h文件是頭文件,在多文件系統中建立h文件方便其他文件引用。

⑻ 頭文件里的頭文件是幹嘛的

第一種情況,把每個代碼塊所需要的頭文件都包含在內,是為了方便代碼重用,也就是這個項目的代碼有可能需要移植到另一個項目中,如果不把頭文件寫清楚,那麼就會產生很多不必要的麻煩
第二種情況,是能夠保證上面說的情況不會出現才使用的,一般都是自己寫的小型工程里

頭文件里一般都會使用
#ifndef _B_H_ //假設這里是b.h
#define _B_H_
... //代碼略
#endif
來避免頭文件被重復包含後出現的編譯錯誤
在visual c++中,可以直接在頭文件第一行處使用
#pragma once
來防止頭文件被重復包含,效果與上面的代碼一樣

熱點內容
為什麼微信視頻小窗口變大不了 發布:2025-05-14 14:32:13 瀏覽:17
紫癜為什麼查凝血時間 發布:2025-05-14 14:29:41 瀏覽:858
為什麼住上新樓後眼睛就花眼了 發布:2025-05-14 14:28:52 瀏覽:620
錦鯉魚為什麼會吃魚眼睛 發布:2025-05-14 14:28:19 瀏覽:1000
淘寶村為什麼有多有少 發布:2025-05-14 14:24:04 瀏覽:287
為什麼越來越多的人找不到老婆 發布:2025-05-14 14:17:23 瀏覽:948
手機看vr視頻為什麼很短 發布:2025-05-14 14:13:12 瀏覽:720
為什麼吃太甜的東西會牙不舒服 發布:2025-05-14 14:13:05 瀏覽:575
為什麼晚上吃完湯圓睡不著 發布:2025-05-14 13:34:13 瀏覽:745
女人為什麼一百斤不顯瘦 發布:2025-05-14 13:34:13 瀏覽:920