当我创建共享库时,我在库源的根目录中有一个与库同名的头文件(但没有文件扩展名)。
例如,如果我的库名为 libirock.so,那么我的项目根目录中就会有一个名为 irock 的文件。该文件将包含库中所有最重要的头文件,因此当要实现库时,您需要做的就是使用以下包含行:
#include <irock> // Instead of <irock.h>
当我看到类似于以下内容的编译器警告时,我有了这个想法:
#include <string.h> is obsolete, use #include <string> instead
两个问题:
- 使用 irock 代替 irock.h 是最佳实践吗?
- 使用单个头文件而不是多个头文件是否正确?
行动方针
感谢您的回答!从答案中,我决定:
- 将使用
<irock.h>
而不是<irock>
. - 我将继续使用“主要”头文件。
最佳答案
一句话,没有。您需要明确使用 irock.h
有了扩展名,很明显这是一个头文件,任何使用基于文件扩展名的文件的应用程序都将正确地知道如何解释您的头文件。
关于c++ - C++ 中共享库主头文件的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/663624/