我如何“版本” Linux 平台上的 C 二进制文件

发布于 2024-12-07 19:07:58 字数 150 浏览 1 评论 0原文

通常的做法是不将二进制文件包含在源代码控制存储库中,我正在使用 Mercurial,并且想知道是否有人有在 C 二进制文件中嵌入版本(次要+主要)的经验,以便当我使用命令时分发它像 mybinaryApp --version 这样的行参数,我将获得一个唯一的版本,我可以在构建时控制它。

usually the practice is not to include binaries in source control repositories, i am using mercurial, and would like to know if anyone has experience with embedding version (minor + major) in a C Binary, so that when its distributed if i use a command line argument like mybinaryApp --version, i will get a unique version, which i can control at build time.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

最美不过初阳 2024-12-14 19:07:58

我在代码中嵌入版本号的方法是在单独的头文件中#define _VERSION_MAJOR ,将它们包含在需要版本号的文件中,然后在需要的地方使用该宏。然后,您可以自由地控制不同源文件中的版本号,而不必不断修改原始文件。

这是最先进工具的本质。

或者,如果您想要特定于构建的标记,则可以使用 __DATE____TIME__ 插入构建时间。

The way that I embed version numbers in the code is to #define _VERSION_MAJOR in a separate header file, include them in files that need the version number, and then use that macro where needed. Then, you are free to control the version number in a different source file, without having to continually modify the original file.

This is the essence of what most advanced tools do.

Alternatively, if you wanted a build-specific tag, then you can use __DATE__ and __TIME__ to insert build time.

雨巷深深 2024-12-14 19:07:58

通常的方法是使用自动工具(autoconf & automake & autoheader & al.)。他们提供了一个包含文件 config.h,该文件定义了 PACKAGE_VERSION 宏,您可以使用 --version 打印出来。

此过程独立于版本控制。原因很简单,您希望将项目作为源代码 tarball 进行分发,而人们必须在无法访问您的版本控制的情况下构建该 tarball。

The usual way is to use the autotools (autoconf & automake & autoheader & al.). They make an include file config.h available, and this file defines the PACKAGE_VERSION macro that you can print out with --version.

This process is independent from version control. The simple reason for this is that you will want to distribute your project as a source code tarball, and people have to build that tarball without access to your version control.

贵在坚持 2024-12-14 19:07:58

您是否正在寻找类似 KeywordExtension 的内容?

Are you looking for something like the KeywordExtension?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文