首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >hpp和hxx有什么区别?

hpp和hxx有什么区别?
EN

Stack Overflow用户
提问于 2009-12-08 04:24:46
回答 5查看 18K关注 0票数 11

对gcc来说应该是一样的,对不对?哪一个更受欢迎,我现在正在准备一个从头开始的项目,我想从这两个中挑选一个。

谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-12-08 04:26:36

在C++中,文件扩展名实际上并不重要。使用.h、.hpp、.hxx或不使用文件扩展名都是约定的。

标准库的头文件不使用文件扩展名。包括Boost在内的许多项目都使用.hpp。许多项目都使用.h。只需选择一个并在项目中保持一致即可。

票数 23
EN

Stack Overflow用户

发布于 2011-08-04 02:23:59

编译器不区分这两个扩展,因此从技术上讲,您使用哪一个扩展并不重要。就我个人而言,我将.hxx扩展用于仅在项目内部使用的头文件,而将.hpp用于那些应该随库/软件发布的头文件。

票数 4
EN

Stack Overflow用户

发布于 2015-07-14 13:07:19

鉴于我最近的一项发现,我建议我们重新开始这次讨论。在过去的9年中,我对我的C和C++项目中的源文件使用了以下命名约定。

  • C =直接C源代码,包含一个或多个相关入口点
  • CPP = C++源代码,包含一个或多个相关入口点
  • H=函数、宏、结构、类型定义等的声明。
  • INL=内联(函数体)是两个或多个函数的主体,这些函数的主定义文件是C或CPP文件,它们通过#include

< code >F29并入其中

例如,在MyStringFunctionA.cpp中定义了ANSI实现MyStringFunctionA,而在MyStringFunctionW.cpp中定义了MyStringFunctionW (宽字符)实现。MyStringFunctionA.cpp和MyStringFunctionW.cpp包含原型、左方括号和右方括号以及头,适用于宽字符版本的UNICODE。函数体在函数定义块内的INI文件中定义,该文件为#included。

与通用TCHAR映射相结合,这种方法极大地简化了Unicode和ANSI版本的维护,这两个版本仍在使用中。

然而,当我开始将我的代码库迁移到Visual Studio 2013时,我发现了一个恼人的变化,一开始是令人困惑的。尽管一切都编译得很干净,但当我的一个INL文件在代码编辑器中打开时,我会看到几十个Intellisense“错误”列在“错误”窗口中。我引用了术语“错误”,因为它们不是真正的错误;当INL文件关闭时,它们就消失了,并且iNL被拉入其中的C和CPP文件可以正确地编译、链接和运行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1862658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档