Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在linux平台上“版本”C二进制文件_C_Versioning - Fatal编程技术网

如何在linux平台上“版本”C二进制文件

如何在linux平台上“版本”C二进制文件,c,versioning,C,Versioning,通常做法是不在源代码管理存储库中包含二进制文件,我使用的是mercurial,我想知道是否有人有在C二进制文件中嵌入version minor+major的经验,以便在发布时,如果我使用mybinaryApp-version之类的命令行参数,我会得到一个唯一的版本,我可以在构建时控制它。您是在寻找类似的吗?您是在寻找类似的吗?通常的方法是使用autotools autoconf&automake&autoheader&al。。它们提供了一个include文件config.h,该文件定义了可以使用

通常做法是不在源代码管理存储库中包含二进制文件,我使用的是mercurial,我想知道是否有人有在C二进制文件中嵌入version minor+major的经验,以便在发布时,如果我使用mybinaryApp-version之类的命令行参数,我会得到一个唯一的版本,我可以在构建时控制它。

您是在寻找类似的吗?

您是在寻找类似的吗?

通常的方法是使用autotools autoconf&automake&autoheader&al。。它们提供了一个include文件config.h,该文件定义了可以使用-VERSION打印出来的PACKAGE_VERSION宏


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

通常的方法是使用autotools autoconf&automake&autoheader&al。。它们提供了一个include文件config.h,该文件定义了可以使用-VERSION打印出来的PACKAGE_VERSION宏


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

我在代码中嵌入版本号的方法是在单独的头文件中定义_version\u MAJOR,并将其包含在需要版本号的文件中,然后在需要时使用该宏。然后,您可以自由地控制不同源文件中的版本号,而无需不断修改原始文件

这是大多数高级工具的基本功能


或者,如果需要特定于生成的标记,则可以使用uuu DATE和uuu TIME来插入生成时间。

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

这是大多数高级工具的基本功能


或者,如果您需要特定于生成的标记,则可以使用uuu DATE和uuu TIME来插入生成时间。

您使用的是什么C编译器?@Foo-Bah我使用的是GCCW您使用的是什么C编译器?@Foo-Bah我使用的是gcc