老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

C語言中include能包含什么文件

本篇內容主要講解“C語言中include能包含什么文件”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C語言中include能包含什么文件”吧!

成都創新互聯公司長期為1000多家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為遂昌企業提供專業的成都網站建設、成都網站設計,遂昌網站改版等技術服務。擁有十余年豐富建站經驗和眾多成功案例,為您定制開發。

文/Edward  

之前我們已經講到過,#include預處理指令使另外一個文件的內容在預處理的時候,先會被復制到當前的.c文件中來,產生一個中間文件,一般情況下,這個中間文件是存儲在編譯器內存里面的,它不會被輸出,但是我們可以使用gcc命令來將這個文件存儲下來,即使用” gcc -E ./helloworld.c > a.out”命令,即可將預處理產生的內容保留出來。如圖1所示。

 C語言中include能包含什么文件
圖1 預處理輸出文件

我們在圖1中,僅僅簡單地包含了一個我們自己寫的一個頭文件,這個頭文件里面有一個#define定義的標號MAX,也有一個變量a,當我們包含了這個頭文件并且進行編譯的時候,編譯器便會將頭文件里面的內容在編譯流程的預處理階段把.c源文件中的相關標號定義全部替換掉,如果.h頭文件里面包含了變量的定義,便會將變量的定義原封不動地復制到.c源文件中。以上內容就是文件包含的全部內容。
然而#include預處理如果再深究下去,它的內容可不止如此。

  庫函數的包含和本地頭文件的包含
前面我們也講到過,用#include包含頭文件的時候,根據包含的頭文件到底是庫函數還是用戶自己寫的本地頭文件分別有不同的包含方式。
如果用#include包含庫函數,那么其包含的方式為:
#include    
對于filename不存在任何限制,不過根據約定,標準庫的庫文件以一個.h后綴結尾。編譯器通過查找由編譯器定義的“一系列標準庫路徑”來查找庫函數的頭文件。比如,在典型的UNIX/類UNIX系統上,C編譯器在/user/include/目錄中去查找庫函數的頭文件。
如果是本地頭文件的包含,那么其包含方式為:
#include “filename”
這個頭文件如果和所有的源文件放置在一個目錄底下,那么就無需去顯式地指明其路徑。如果不在同一個文件夾下,那么UNIX和BorlandC編譯器都支持一種變體形式,即使用絕對地址的路徑名。如:
#include “../src/usart/ usart.h”

    頭文件的形式
再來想一想,C語言中的#include只能支持包含.h后綴的頭文件嗎?其實不然,除了C語言標準庫文件在編寫時是按照約定以.h結尾的,用戶自己定義的頭文件根本就沒有這一條規定。比如圖2所示。

C語言中include能包含什么文件
圖2 C語言包含亂七八糟后綴名的頭文件

在圖2中大家可以看到,我在b.c這個C語言源文件里面包含了一個c.x的頭文件,這個c.x后綴名我自己也不知道是什么意思。但是奇怪的是,編譯器在做預處理的時候,竟然將c.x文件中的內容正常的處理過來了,除了VSCode做代碼靜態解析的時候,有錯誤提示之外,其他貌似什么事情都沒有發生。因此,在一個.c文件里面用#include包含什么后綴的文件,在C語言里面沒有規定。只不過約定俗成,都用.h結尾的文件來當頭文件而已。
但是,C語言中源文件的后綴名有明確要求,一定要用.c后綴的文件。

    頭文件里面的內容
接下來,最后一個內容,頭文件里面到底可以用來寫什么內容。這個問題非常玄乎,C語言也沒有規定,隨便你自己去寫。我之前看到過有個哥們(一個半路出家的工程師)將函數全部定義在頭文件中。對于這樣的人才,我除了說他天資聰穎,資質過人,骨骼精奇這樣的褒義詞之外,根本就詞窮了。C語言的頭文件里面的的確確可以用來寫函數,你沒有聽錯,我再寫一遍,的的確確可以用來寫函數。但是,這樣子寫出來的函數很難被多個其它文件包含。這個問題我本來不想展開講解,因為殺傷力太大,我怕將這個反面教材正面化了。但是滿足大家的好奇,還是貼出來了,如圖3所示。
C語言中include能包含什么文件
圖3 反面教材

到此,相信大家對“C語言中include能包含什么文件”有了更深的了解,不妨來實際操作一番吧!這里是創新互聯網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!


網站標題:C語言中include能包含什么文件
分享地址:http://www.xueling.net.cn/article/jgejjd.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 日本不卡视频一区二区 | 久久久久在线视频 | 国产精品视频97 | 另类综合在线 | 国产一级做a爰片在线看免费 | 青青草在线视频免费观看 | 国产精品伦视频看免费三 | 国产专区中文字幕 | 亚洲天堂福利视频 | 韩国一级淫一片免费放 | 激情影院网站 | 麻豆视频免费网站 | 久久精品无码午夜福利理论片 | 最新av免费观看 | 日韩精品资源 | 国产精品视频第一区 | 亚洲在线资源 | 中文字幕一区二区三区在线不卡 | 91成人午夜性a一级毛片 | 久久精品人妻无码一区二区三区 | 三级理论日韩欧美 | 国产草比视频 | av免费观看大全 | 久久久久.com | 好男人社区WWW在线观看 | 超碰在线cao| 91视频你懂得 | 亚洲色大成网站www久久九九 | 一区二区久久精品66国产精品 | 精品久久久久中文字国产 | 九七成人网 | 欧美日韩精品一区二区三区视频 | 国产综合视频在线 | 欧美日韩亚洲色图 | 免费一区二区在线观看 | 国产精品久久久久久久久久久天堂 | 国产成人无码A在线观看不卡 | 潮喷无码正在播放 | 交换娇妻呻吟hd中文字幕 | 成人久久18免费网站图片 | 丰满少妇在线观看网站 |