C - 在代码中定义应用程序版本

C - define application version in code

我在整个互联网上寻找,但是 Google 确实显示了与我正在寻找的内容无关的结果。我想做的是定义我的程序版本,这样如果用户查看控制面板来管理已安装的应用程序,他将看到应用程序版本,如“1.0.0”、“2.6.8b”等。

您是否正在寻找这样的东西:

#include <stdio.h>

#define VERSION_MAJOR 0
#define VERSION_MINOR 4
#define VERSION_MICRO 2
#define VERSION_SPECIAL "/beta"


#define STRINGIFY0(s) # s
#define STRINGIFY(s) STRINGIFY0(s)

#define VERSION STRINGIFY(VERSION_MAJOR)"."STRINGIFY(VERSION_MINOR)"."STRINGIFY(VERSION_MICRO)""VERSION_SPECIAL


int main(void)
{
  printf("Version: '%s'\n", VERSION);
}

这会打印

Version: '0.4.2/beta'

根据您的编辑,您指的是 windows。 Windows-应用程序将版本信息作为资源处理。

更多关于 VERSIONINFO 资源的信息:https://msdn.microsoft.com/en-us/library/windows/desktop/aa381058%28v=vs.85%29.aspx