添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
讲道义的凉面  ·  Visual Studio ...·  16 小时前    · 
高大的茄子  ·  C/C++ ...·  16 小时前    · 
斯文的皮带  ·  Microsoft Visual ...·  16 小时前    · 
不拘小节的太阳  ·  ntext, text, and ...·  1 月前    · 
细心的羊肉串  ·  浙江工商大学新闻网·  3 月前    · 

c/c++编程笔记:.c 与 .cc 与 .cpp 与 .hpp 与 .h 与 .cxx文件之间有什么关系?

专栏 / c/c++编程笔记:.c 与 .cc 与 .cpp 与 .hpp 与 .h 与 .cxx文件之间有什么关系?

c/c++编程笔记:.c 与 .cc 与 .cpp 与 .hpp 与 .h 与 .cxx文件之间有什么关系?

2021年04月24日 07:33 --浏览 · --点赞 · 摩多摩多C语言
粉丝: 1511 文章: 203

在一开始,C++程序的源文件后缀名也是“.c”和“.h”,这与C语言程序源文件的后缀名完全一样。这就带来了一些问题,

其中一个比较显著的问题就是编译器无法轻松的区分某个源文件里的程序究竟是使用C++编写的,还是C语言编写的。

因此,后来C++程序源文件的后缀名不再使用“.c”了,有些使用“.C”后缀名以区别于C语言程序,还有些C++源文件则使用“.c++”,“.cc”,“.cxx”作为后缀名。

不过,由于“.C”与“.c++”后缀名的适用性不够广,比如有的编译器不区分后缀名的大小写,以及有些系统不支持文件名使用“+”符号,这两种后缀名的C++源文件越来越少了。

Dos 和 Windows 系统的编译器偏向使用“.cpp”(c plus plus, c++)作为 C++ 源文件的后缀名,考虑到 Windows 系统的市场占有率极高,因此为了统一性,以“.cpp”作为源文件后缀名的C++程序项目相当多。


再来看头文件,基本上和源文件的历史一致,曾经出现过后缀名为“.H”,“.h++”,".h"以及“.hxx”和“.hpp”的头文件。但是,与源文件不太一样的时,今天仍然有许多C++程序仍然使用“.h”后缀名的头文件。

相信读者在一些“.h”后缀名的头文件里见到过下面这样的宏控制命令:

#ifdef__cplusplusextern"C"{#endif...#ifdef__cplusplus}#endif

基本上,这样的头文件既可以被C语言程序包含,又可以被C++程序包含。有时,有些头文件不知道自己是否可以被包含在C语言程序的上下文中,甚至连后缀名都没有。

另外,有些程序项目的源文件使用“.ii”,".ixx",“.ipp”作为后缀名,这类文件一般专用于提供内敛定义。

还有些源文件使用“.txx”,“.tpp”,“.tpl” 作为后缀名,用于定义模板。这些源文件一般会被包含在头文件里,或者直接包含在程序项目的上下文中。

编译器和工具通常并不关心源文件的后缀名,不过在默认状态下,编译器和工具会根据源文件的后缀名识别出代码就是是C语言还是C++语言,还是其他编程语言编写的。

换句话说,如果编译器能够识别“.cpp”和“.cc”后缀名的源文件,那么使用哪一个都是可以的,因为它们都能告诉编译器该源文件代码是由C++语言编写的。

如果你在学习C/C++的过程中遇到了问题,可以来加入小编的 主页 问小编哦~小编很热情的(●’◡’●)