zoukankan      html  css  js  c++  java
  • 自动生成编译时间,可以实现版本管理

    在很多情况下,我们实行版本的管理,我们除了定义软件版本号外,还会定义个编译时间。但是如果通过数组定义编译时间,每次编译我们都需要手动修改,非常麻烦,而且有时候,还会忘记。其实我们不需要这么复杂,编译器一般都会提供一个宏用于自动获取编译时间。下面就以MDK为例进行说明:

    ANSIC标准定义了以下6种可供C语言使用的预定义宏:
    LINE 在源代码中插入当前源代码行号
    FILE 在源代码中插入当前源代码文件名
    DATE 在源代码中插入当前编译日期〔注意和当前系统日期区别开来〕
    TIME 在源代码中插入当前编译时间〔注意和当前系统时间区别开来〕
    STDC 当要求程序严格遵循ANSIC标准时该标识符被赋值为1。
    __cplusplus
    标识符LINEFILE通常用来调试程序;
    标识符DATETIME通常用来在编译后的程序中加入一个时间标志,以区分程序的不同版本;
    这四个都是预编译宏,不是包含在头文件中的
    FILE是当前编译的文件的文件名 是一个字符串
    TIME是当前编译的文件的编译时间 格式是hh:mm:ss 是字符串
    DATE是当前编译的文件的编译日期 格式是Mmm:dd:yyyy 是字符串
    LINE是调用该宏语句所在的行数,是个十进制数
    用在宏定义中
    譬如:

    #define TEST (__FILE__" "__TIME__) /*这个括号没有也行的*/
    int main(void)
    {
    printf(TEST);
    return 0;
    }
  • 相关阅读:
    hdu-6166(最短路+二进制分组)
    hdu-1238(kmp+枚举)
    hdu-3294(最长回文子串)
    hdu-3068(最长回文子串-manacher)
    二维凸包 Graham扫描算法 +hdu 1392
    经典技术书籍
    hdu 5365 计算几何 给几个点判断是否为正方形
    线性素数筛
    关于大数的题
    树状数组的简介和线段树基础操作
  • 原文地址:https://www.cnblogs.com/bryce1010/p/9387248.html
Copyright © 2011-2022 走看看