先宏定义
#define CC_APP_XXX_VERSION_NAME "MY_PROGRAME"
#define CC_APP_XXX_MAJOR_VERSION "1"
#define CC_APP_XXX_MINOR_VERSION "0"
#define CC_APP_XXX_PATCH_VERSION "0"
主程序
int main(int argc, char** argv)
{
int opt = -1;
while ((opt = getopt(argc, argv, "vha:m:")) != -1) {
switch (opt) {
case 'v':
printf("%s %s.%s.%s.%s %s %s released.\n", argv[0], CC_APP_XXX_VERSION_NAME, CC_APP_XXX_MAJOR_VERSION, CC_APP_XXX_MINOR_VERSION, CC_APP_XXX_PATCH_VERSION, __DATE__, __TIME__);
return 0;
case 'h':
printf("Usage: %s [-v] [-h] [-a para] [-m para]\n", argv[0]);
return 0;
case 'a':
printf("option [a] param: %s\n", optarg);
break;
case 'm':
printf("option [m] param: %s\n", optarg);
break;
default: /* '?' */
break;
}
}
// 正常运行打印一次版本号
printf("Version: %s.%s.%s.%s, %s %s released.\n", CC_APP_XXX_VERSION_NAME, CC_APP_XXX_MAJOR_VERSION, CC_APP_XXX_MINOR_VERSION, CC_APP_XXX_PATCH_VERSION, __DATE__, __TIME__);
/*自己的程序*/
}
这样的话运行
./my_program -v
就可以打印自己的版本号, 这样是不是改了程序,就都可以做做记录了