c語言頭文件是否可以編譯
因為 你用的和你看到的頭文件是為開發者方便服務的,不是為你服務的。 有了條件編譯,開發人員可以很方便的為多種情形(比如不同硬體環境,不同軟體環境)維護一套代碼。 發布時原樣發布出來就是你看到的樣子。
你的使用條件和使用環境確定的話,可以去掉條件編譯的,只是需要花時間精力,沒人去干而已。
可以下載嘗試下中文版的C語言:習語言, 頭文件里很少條件編譯。
Ⅱ C語言中頭文件和源文件寫法有什麼區別
相同點:
頭文件與源代碼都是源文件,都用純文本文件存儲,都需要遵照C/C++語言規范來寫,都可以使用類型定義和常、變數定義,都可以包含函數的聲明和實現,都能包含宏定義,都使用相同的調用規范。
不同點:
C/C++的編譯器規定源代碼文件必須包含函數入口,即main函數,或者winmain函數。而頭文件不得包含函數入口,也就是說,頭文件不可以單獨編譯成一個程序,僅僅包含程序片斷或者僅僅定義常、變數。
關聯:
頭文件是專為源代碼調用而寫的靜態包含文件,可被源代碼文件中的#include編譯預處理指令解釋,而將頭文件完整拷貝到源代碼的指令處,從而在編譯時相當於在源代碼中插入了函數聲明或者實現。
某些頭文件包含了靜態庫中的函數調用聲明,包含了LIB文件的調用信息,編譯時靜態鏈接進程序;而某些頭文件是專為方便API調用而寫的,裡麵包含了動態鏈接庫的調用信息和規范,只有在運行時將DLL載入內存提取函數執行。
也就是說,其實你將頭文件里的信息完全寫到源代碼里,是可以實現完全相同的功能的。如果你想要學寫頭文件,可以參照標准C/C++庫的h文件。
Ⅲ C語言,頭文件總是無法在編譯中出錯
可能是你編譯器設置的問題,看看設置的預設目錄是否正確。另外當前目錄包含頭文件用雙引號不用尖括弧即:
#include "stdint.h"
Ⅳ 在c語言中,如何自定義頭文件
自定義頭文件通常放在使用該頭文件的源文件所在的目錄中,並使用#include "MyHead.h"來包含。
頭文件是不編譯的,因為C語言編譯過程之前有個預編譯過程。在這個過程中用頭文件中的內容替換源文件中「#include」命令,所以在編譯器看來,沒有頭文件,只有源文件。預編譯過程還包括條件編譯。
頭文件為了防止被重復包含,通常的格式是:
/* MyHead.h */
#ifndef _MYHEAD_H_
#define _MYHEAD_H_
(這里是頭文件的內容)
#endif /* _MYHEAD_H_ */
拓展資料
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。