如果我们对所有C / C ++文件都有统一的扩展名(.c / .cpp),它将产生什么区别?

| 在
C/C++
项目中,大多数文件可以为
.h
.c
/
.cpp
类型。除了标题和实现文件之类的命名差异之外;功能上有什么区别吗? 换句话说:如果在正在运行的“ 0”项目中,如果我们更改所有扩展名为“ 2”或“ 3”的文件,会有什么区别? [注意:我们还可以为8个文件提供7个防护。如果将它们视为标题,则可以跳过它们的编译。] 编辑: 辩论并非旨在解决此问题,因为我没有任何可靠的用例。我想知道,允许给出give1ѭ,
.hxx
.i
扩展名只是一种便利或一条规则。例如我看到的一项功能差异是
.cxx
文件可以具有其可爱的目标文件。     
已邀请:
        有什么区别?编译器对此非常满意。对此,它只是文件。 但是对你呢?您会产生很大的变化: 您不再能够立即确定哪个是标头,哪个是实现; 您不能再为标头和实现指定相同的名称;     
        如果您使用的是gcc,并且尝试编译带有.c扩展名的C ++文件,它将尝试编译您的文件,就像它是C语言文件一样,它将创建大量的错误。 项目也是如此,这就是为什么很多时候您会看到项目实际上将C ++标头标记为.hpp而不是.h的原因,因此更容易在C语言之间进行区分源代码和标头,以及C ++源代码和标头。     
        头文件通常不得直接编译,而应#include包含在直接编译的文件中。通过为这两类文件提供自己的扩展名,可以轻松确定要编译的文件。 Make和IDE以及其他工具通常期望源代码使用.c / .cpp约定,而标头使用h / hpp约定。编译器通常会更进一步,对于.c和.cpp,默认为C编译。 因此,给您的标头提供与源文件相同的扩展名是一个坏主意。     

要回复问题请先登录注册