❶ 為什麼C語言頭文件中要用條件編譯
如果你說的是文件中避免重復包含的預處理指令,有兩個原因
a)重復編譯相同的內容,即使不會導致語法錯誤,對編譯器也是極大的開銷,在大工程中,絕對是不可容忍的,持續編譯集成的代價是很高的,能省必須省
b) 有很多語法元素是不可重復編譯的,例如類型定義。你僅僅考慮變數,是遠遠不夠的。實際中,變數在頭文件中的使用是非常少的,因為全局變數也是能避免就避免的
❷ 關於c語言頭文件使用問題
分類: 電腦/網路 >> 程序設計 >> 其他編程語言
問題描述:
各位高手,我用c編了個程序,想使用自己編的頭文件即#include "******.h"這樣,請問頭文件中除了包括函數體外,還應該包括什麼?如果我其中一個頭文件中的函數又要用到其他頭文件中的函數,應該怎樣做?謝謝!
解析:
從原理上來說,
#include 語句起的只是一個插入作用。
也就是說,#include 的文件里的內容可以隨便寫。
編譯器使用#include 的文件里的內容來插入到#include 所在位置。
所以,你說的「頭文件」沒有固定格式。
不過,也不是完全沒有,一般來說,頭文件里多數是放的函數定義或函數體。
此外,還有:
#ifndef ****
#define ****
……
#endif
之類的語句,用於控制#define 與 #endif之間的內容不被重復定義或插入。
如要使用其它頭文件中的函數,可以直接在你的頭文件中引用。
初學C語言,個人建議你使用C++Builder 6去練習和理解,當然,這要求你有一定的英語水平(高中畢不合格的E文水平就可以了)。我們簡稱它為BCB,BCB在很多情況下會自動的幫你加好頭文件,你可以觀察它自動生成的文件,代碼,以進一步學習。
❸ 關於C語言中頭文件的條件編譯的問題
例如,常會將結構體類型的定義放在頭文件中(例如FILE結構體,tm結構體等),如果不加條件編譯,那麼就可能會出現同一個程序中的不同文件由於包含了同一個頭文件而導致同一個結構體類型的重復定義,而C中不允許重復定義,所以會出錯。
❹ c語言里include包含的文件,編譯時是全部編譯還是將部分用到的內容編譯
在預處理時把代碼全部放進去,編譯時自然是全部編譯,但是後期涉及到動態庫的東西,其實有些函數沒有真的被鏈接進來(只是地址而已),這些東西慢慢來吧
❺ c語言中如何編譯頭文件啊
你這是添加頭文件,而不是編譯頭文件
TC2.0裡面沒有滑鼠的使用
添加必須使用#include
命令
一般把你寫的頭文件或文件(注意,不光是頭文件可以加入)放入你的項目或工程文件夾中
然後使用
#include
「文件名.擴展名"
添加文件(注意:使用的是
"
"
而不是<
>
包含
如果你所做要添加的文件是你們公司的一個文件庫里的,建議你更改TC查詢路徑,這樣就能省去要放到同一目錄下的要求。
至於如何編譯
你可以查查TC的運行方式
❻ 關於c語言頭文件編譯和運行的問題
1、只要在程序開頭加入#include<頭文件名>,在編譯過程當中,頭文件自動會被添加到源文件當中一起進行編譯。
2、編譯,編譯程序讀取源程序(字元流),對之進行詞法和語法的分析,將高級語言指令轉換為功能等效的匯編代碼,再由匯編程序轉換為機器語言,並且按照操作系統對可執行文件格式的要求鏈接生成可執行程序。
C源程序頭文件-->預編譯處理(cpp)-->編譯程序本身-->優化程序-->匯編程序-->鏈接程序-->可執行文件。
❼ 計算機二級c語言中一定要編譯嘛
假設你當天去參加計算機二級考試,你要上機是肯定的,你還要做操作題。
填完操作題的答案之後,你敢直接交卷嘛?
一個題15分左右啊!
所以,你一定要記住:編譯、鏈接、運行
你得知道自己輸出的是題目要求的正確答案
才能,不枉此行
❽ c語言中的文件都是單獨編譯的嗎
因為C語言中你編寫的函數中用到了基本的比如輸出,定義這些,這些都是頭文件裡面寫好的,如果你要單獨編譯,可以自己把這些東西定義在一個文件中,自己重新寫一遍,另外還得編譯器支持。
❾ 關於C語言的頭文件的問題,這個頭文件是怎麼進去的,需要自己寫還是編譯器做的
頭文件編譯器會自帶一些的,這些我們大部分都已經足夠使用了。
但有時候我們需要自己寫一些定義,比如函數的申明,全局變數的申明。這樣就可以自己建一個頭文件。然後在代碼裡面添加進去就可以了。