zoukankan      html  css  js  c++  java
  • C标准中的一些预定义宏

    昨天写代码时需要在代码获取当前编译时间,从而可动态地作为版本信息,因此用到了C标准中的一些预定义的宏。在此将C标准中定义的几个宏一并总结一下:

    __DATE__ 进行预处理的日期(“Mmm dd yyyy”形式的字符串文字,如May 27 2006)
    __FILE__ 代表当前源代码文件名的字符串文字 ,包含了详细路径,如G:/program/study/c+/test1.c
    __LINE__ 代表当前源代码中的行号的整数常量
    __TIME__ 源文件编译时间,格式微“hh:mm:ss”,如:09:11:10;
    __func__ 当前所在函数名,在编译器的较高版本中支持
    __FUNCTION__ 当前所在函数名
     

      对于__FILE__,__LINE__,__func__,__FUNCTION__ 这样的宏,在调试程序时是很有用的,因为你可以很容易的知道程序运行到了哪个文件的那一行,是哪个函数。
    而对于__DATE__,__TIME__则可以获取编译时间,如如下代码通过宏获取编译时间,并通过sscanf()从中获取具体的年月日时分秒数据,可在代码中做相应使用。我的代码中是根据此数据作为版本标识,并依此判断哪个版本新些及是否需要升级。
    char * creationDate   = __DATE__ ", " __TIME__;
    sscanf(creationDate, "%s %d %d, %d:%d:%d", month, &day, &year, &hour, &min, &sec);

  • 相关阅读:
    算法常识——二叉堆
    关于c++ 感想
    算法常识——树的遍历
    算法常识——非线性结构
    算法常识——基础的数据结构
    算法常识——结构与复杂度
    重温网络编程——常识(三)
    重温网络编程——协议(二)
    重温网络编程(一)
    RemoteViews 整理
  • 原文地址:https://www.cnblogs.com/chenhs/p/1270692.html
Copyright © 2011-2022 走看看