美國留學(xué)選擇什么專業(yè)好?留學(xué)美國熱門專業(yè)推薦
2019-06-26
更新時間:2024-06-11 01:51作者:小樂
許多C語言學(xué)習(xí)者也會了解一些C++語法。他們應(yīng)該能夠發(fā)現(xiàn)C語言和C++程序源文件的后綴名是不同的。 —— C 語言程序源文件的后綴名為“.c”,C++ 程序源文件的后綴名為“.c”。文件后綴通常是“.cpp”,“.h”后綴往往是頭文件的后綴。
這些后綴名是怎么來的呢?
然而,在程序開發(fā)或者一些開源項目中,我們經(jīng)常會看到一些帶有“.hpp”、“.cc”、“.cxx”后綴的源文件,這是非常令人困惑的。這些不同后綴的來源是文件之間到底有什么區(qū)別?那么這些后綴是怎么來的呢?
各種源文件后綴其實一開始,C++程序的源文件后綴也是“.c”和“.h”,和C語言程序源文件的后綴一模一樣。這就帶來了一些問題,比較明顯的問題之一就是編譯器無法輕易區(qū)分某個源文件中的程序是用C++還是C語言編寫的。因此,后來C++程序源文件的后綴名不再使用“.c”。有的使用“.C”后綴名來區(qū)別于C語言程序,有的C++源文件使用“.c++”、“.cc”、“.cxx”作為后綴名。
“.C”和“.c++”后綴并不廣泛適用
但由于“.C”和“.c++”后綴的適用范圍不夠廣泛,例如有些編譯器不區(qū)分后綴名的大小寫,有些系統(tǒng)不支持使用“+”文件名中的符號,這兩個后綴著名的C++源文件越來越少了。 Dos和Windows系統(tǒng)的編譯器更喜歡使用“.cpp”(c plus plus,c++)作為C++源文件的后綴名??紤]到Windows系統(tǒng)極高的市場占有率,為了統(tǒng)一起見,采用“.cpp”作為后綴名。有相當(dāng)多的C++ 程序項目帶有源文件擴展名。查看頭文件,與源文件的歷史記錄基本一致。存在后綴為“.H”、“.h++”、“.h”、“.hxx”和“.hpp”的頭文件。然而,當(dāng)今許多C++ 程序在與源文件不同時仍然使用帶有“.h”后綴的頭文件。
如今仍有許多C++ 程序仍然使用帶有“.h”后綴的頭文件。
相信讀者在一些帶有“.h”后綴的頭文件中看到過如下宏控制命令:
#ifdef __cplusplusextern \'C\' {#endif.#ifdef __cplusplus}#endif 基本上這樣的頭文件既可以被C語言程序包含,也可以被C++程序包含。有時,有些頭文件不知道是否可以包含在C語言程序的上下文中,甚至沒有后綴名。
其他此外,某些程序項目的源文件使用“.ii”、“.ixx”和“.ipp”作為后綴。此類文件通常專用于提供內(nèi)聯(lián)定義。還有一些源文件使用“.txx”、“.tpp”和“.tpl”作為定義模板的后綴。這些源文件通常包含在頭文件中或直接包含在程序項目的上下文中。
編譯器和工具通常不關(guān)心源文件擴展名
編譯器和工具通常不關(guān)心源文件的后綴。不過,默認(rèn)情況下,編譯器和工具會根據(jù)源文件的后綴名來識別代碼是用C語言、C++語言還是其他編程語言編寫的。也就是說,如果編譯器能夠識別帶有“.cpp”和“.cc”后綴的源文件,那么使用它們就可以了,因為它們可以告訴編譯器源文件代碼是用C++語言編寫的。
小結(jié)本節(jié)討論了程序開發(fā)中的幾種常見的源文件后綴??梢娝鼈兤鋵嵅]有多大的意義。如果沒有歧義,您甚至可以任意使用這些后綴。然而,更推薦的方法是保持項目的一致性。如果其他C++源文件以“.cc”為后綴,那么我們新定義的C++源文件使用“.cpp”源文件就不好了。
豎起大拇指然后走開
歡迎在評論區(qū)一起討論、提問。文章均為手寫、原創(chuàng)。他們每天用最簡單的方式介紹C語言、Linux等嵌入式開發(fā)。如果你喜歡我的文章,就關(guān)注吧,你可以看到最新的更新和往期文章。未經(jīng)許可禁止轉(zhuǎn)載。