c++ - C++ 中共享库主头文件的最佳实践是什么?

标签 c++ header shared-libraries

当我创建共享库时,我在库源的根目录中有一个与库同名的头文件(但没有文件扩展名)。

例如,如果我的库名为 libirock.so,那么我的项目根目录中就会有一个名为 irock 的文件。该文件将包含库中所有最重要的头文件,因此当要实现库时,您需要做的就是使用以下包含行:

#include <irock> // Instead of <irock.h>

当我看到类似于以下内容的编译器警告时,我有了这个想法:

#include <string.h> is obsolete, use #include <string> instead

两个问题:

  1. 使用 irock 代替 irock.h 是最佳实践吗?
  2. 使用单个头文件而不是多个头文件是否正确?

行动方针

感谢您的回答!从答案中,我决定:

  1. 将使用 <irock.h>而不是 <irock> .
  2. 我将继续使用“主要”头文件。

最佳答案

一句话,没有。您需要明确使用 irock.h

有了扩展名,很明显这是一个头文件,任何使用基于文件扩展名的文件的应用程序都将正确地知道如何解释您的头文件。

关于c++ - C++ 中共享库主头文件的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/663624/

相关文章:

c++ - 在 C++ 中制作一个大的二维数组

css - 调整视口(viewport)大小时,页眉不会拉伸(stretch)到 100%,但页脚会吗?

html - 如何将元素左对齐(标题)

c++ - undefined symbol 'fixed_address_empty_string' : new tensorflow op with protobuf

c++ - 使用 CMake 使用多个 header 创建 C++ 共享库

gcc - 在编译期间告诉 ld 在哪里寻找依赖的共享库

c++ - C++媒体流的N-API连续回调

c# - 如何将 C++ 代码包装到具有大量 float*(代表点)的 CLI 中?

c++ - 这被认为是显式 C++ 模板类实例化吗?

c++ - 创建对象时出现错误 header C++