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);

  • 相关阅读:
    mas_makeConstraints && mas_remakeConstraints && mas_updateConstraints 用法与注意事项
    iOS特性一 关闭系统日志打印
    React-Native -课后练习
    RN 项目导入WebStorm 组件没有依赖
    React-Native需要css和布局-20160902
    方式 隐藏导航栏
    svn status状态
    spring整合redis
    maven编译跳过TEST
    linux自动登录脚本expect
  • 原文地址:https://www.cnblogs.com/chenhs/p/1270692.html
Copyright © 2011-2022 走看看