我确信之前已经被问过,并且会被关闭并标记为重复但我发现它时遇到了问题......
例如,在llvm/lib/Support/Unix/Signals.incllvm项目中.将此后缀用于cpp文件有什么意义?
Mat*_*son 10
扩展名与.h或.hpp不同.无论谁决定以这种方式命名文件,我都不在.除了惯例之外,没有特别的原因可以确定一般的扩展.
正如Jonathan指出的那样,可能是将它与可在任何地方使用的"常规头文件"区分开来.
包含这些文件的上述注释可能是一个合理的解释:
// Include the platform-specific parts of this class.
#ifdef LLVM_ON_UNIX
#include "Unix/Signals.inc"
#endif
#ifdef LLVM_ON_WIN32
#include "Windows/Signals.inc"
#endif
Run Code Online (Sandbox Code Playgroud)
这些包含特定于平台的部分,因此它不是"头文件",它只是依赖于目标体系结构的代码的一部分,并且有人认为最好有两个单独的文件而不是具有巨大#ifdef的一个源文件.[在我看来,一个合理的决定,因为我看到的Unix文件有几百行,包括更多东西,还有更多#if]
小智 5
在 llvm 的上下文中,.inc 文件由 tablegen 文件生成:
https://llvm.org/docs/TableGen/ProgRef.html
因此 .inc 扩展名用于区分自动生成的头文件和手动编写的头文件。
| 归档时间: |
|
| 查看次数: |
1992 次 |
| 最近记录: |