C++:如何构建我自己的实用程序库?

Posted

技术标签:

【中文标题】C++:如何构建我自己的实用程序库?【英文标题】:C++: how to build my own utility library? 【发布时间】:2010-12-21 05:00:32 【问题描述】:

我开始对 C++ 足够精通,因此我可以编写自己的基于 C++ 的脚本(以替换我以前编写的 bash 和 php 脚本)。

我发现我开始收集非常少的实用函数和子例程,我想在几个原本不相关的 C++ 脚本中使用它们。

我知道我不应该重新发明***,并且我可以将外部库用于我为自己创建的一些实用程序。但是,创建自己的实用程序函数很有趣,它们完全适合我的工作,而且对我来说是学习过程的很大一部分。当我足够熟练地从事更严肃的长期项目时,我会看到使用更完善的外部库。

所以,问题是:我如何管理我的个人实用程序库,以使这些功能可以轻松地包含在我的各种脚本中?

我正在使用 linux/Kubuntu、vim、g++ 等,主要是编写 CLI 脚本。

不要在经验方面假设太多! ;) 欢迎提供指向教程或适当记录相关主题的地方的链接。

【问题讨论】:

【参考方案1】:

"Shared objects for the object disoriented!"

"Dissecting shared libraries"

【讨论】:

【参考方案2】:

只需将您的 hppcpp 文件放在不同的目录中即可。这样,很容易将包含 C++ 文件的目录添加到任何新项目中,并且很容易将标头添加到包含路径中。

如果您发现编译时间开始受到影响,那么您可能需要考虑将这些文件放在静态库中。

【讨论】:

【参考方案3】:

如果您是手动编译,您将需要创建一个 makefile 来消除编译库的乏味。 This 教程在我学习做你正在做的事情时帮助了我,并且它在网站上提供了有关 makefile 的更详细教程的其他链接。

【讨论】:

谢谢。我已经在使用makefile,现在是cmake。欢迎来到 ***!我为你的博客添加了书签:看起来很有趣。 +1:这是你的前十点:)【参考方案4】:

除非它非常大,否则您可能应该将实用程序库保存在 .h 文件(用于声明)和 .cpp 文件(用于实现)中。

只需将这两个文件复制到您的项目文件夹中并使用#include "MyLibrary.h",或设置适当的目录设置以便您可以使用#include <MyLibrary.h>,而无需在每次要使用它们时复制文件。

如果库变得相当大,您可以考虑研究静态库。

【讨论】:

以上是关于C++:如何构建我自己的实用程序库?的主要内容,如果未能解决你的问题,请参考以下文章

在我构建 Android 时的 Expo(未找到 `keytool` 实用程序)

JS之 构建数据可视化的实用工具库

是否有用于将 NMAKE 构建文件转换为 CMAKE 构建文件的转换实用程序?

如何将实用程序.java 作为文件夹放入库中,以便可以将其方法用于多个 java 项目?

具有启用 SSL 的 Oracle 数据库的存储库创建实用程序 (RCU)

与头文件一起使用时,使用个人 C++ 库编译代码会中断