gpt4 book ai didi

c++ - 在我的 C++ 库中管理版本的推荐方法

转载 作者:行者123 更新时间:2023-11-27 23:51:08 25 4
gpt4 key购买 nike

我正在编写一个开源 C++ 库,并且想管理它的版本。例如:标记每个版本,标记尚未发布的版本等。我希望下载预编译库的人知道他们正在使用的版本,并可能并行管理多个版本的库。该库仅编译为静态库(而不是动态库)。我没有使用 cmake(我知道它支持版本标签)。推荐的方法是什么?我应该添加一个包含当前版本的 H 文件吗?它应该包括什么?也许还有其他想法?

最佳答案

就个人而言,我喜欢为我编写的每个库添加一个配置头文件。这使我图书馆的用户可以轻松理解可能的配置并根据他们的需要进行调整。

关于版本管理,我通常会在那个文件中添加三个版本变量:

static const unsigned VERSION_MAJOR = x;
static const unsigned VERSION_MINOR = y;
static const unsigned VERSION_REVISION = z;

这让用户可以轻松查看版本号:

  • 下载库时
  • 编译时使用静态宏
  • 在运行时动态

不过我会推荐:

  • 您在库中添加/删除/弃用的任何功能都不应要求用户以数字方式测试版本,而是您应该添加一个 #define 和/或一个方法来指定此选项是打开还是关闭或可选的,例如:

    #define AWESOME_LIBRARY_SUPPORTS_CACHING
    -- OR/AND --
    static bool isCachingSupported()
  • 库中包含的任何代码都应使用适当的命名空间进行包装,以确保不存在命名冲突,因为 VERSION_MAJOR 是一个非常通用的名称。

  • 您遵循适当的版本控制约定,例如 thesethese .

关于c++ - 在我的 C++ 库中管理版本的推荐方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46378138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com