系统常用宏定义__TIME__ __DATE__ __LINE__等

__DATE__预处理器宏 __DATE__是c语言中的一个预处理器宏,它会在编译时被替换为一个字符串常量,表示当前源文件被编译的日期。该字符串的格式为"MMM DD YYYY",其中MMM表示月份缩写(如Jan、Feb、Mar等),DD表示天数,YYYY表示年份。会被替换为当前的日期字符串,输出类似于"This program was compiled on Jun 01 2023, version 1.2.3"的信息。 阅读详情
AI摘要

本文详细介绍了C语言中预处理宏的使用,包括__TIME__、__DATE__、__TIMESTAMP__、__LINE__、__FILE__和__FUNCTION__等,展示了如何在代码中获取编译时的时间、日期、文件名、行号及函数名,适用于C/C++开发者学习和参考。

输出系统时间

printf("\n mycode  Build on "__TIME__" "__DATE__" win7\n");

打印的结果是:

 mycode  Build on 15:39:58 Apr 19 2019 win7

系统常用的宏定义:

__TIME__:当前系统时间  例如 15:39:58

__DATE__:当前系统日期  Apr 19 2019

__TIMESTAMP__:当前时间日期 例如:  printf(__TIMESTAMP__);   打印结果Fri Apr 19 16:24:31 2019

__LINE__: 当前代码行 例如: printf("%d",__LINE__);

__FILE__:执行的当前文件名  例如:  printf(__FILE__);

__FUNCTION__:打印函数名 printf("%s",__FUNCTION__); 或者printf(__FUNCTION__);只要是字符串的都可以这样

示例代码:

#include <stdio.h>


void main()
{
	printf("\nmy code build on "__TIME__" "__DATE__" "__FILE__"   行号 %d  sdf\n ",__LINE__);
	printf(""__FILE__" \n");
	printf("%d \n",__STDC__);
	printf("%s \n",__TIMESTAMP__);
	//printf(__TIMESTAMP__);
//	printf("\n %s fsfs", __FUNCTION__);
	printf(__FUNCTION__);
	printf("\n");
}

通过gcc编译,打印的结果如下:

C语言时间相关宏定义 在C语言中,预处理器提供了一些与时间相关的宏定义,用于在编译时获取日期、时间等信息。除了和__DATE____DATE__当前编译日期的字符串,格式为(例如__TIME__当前编译时间的字符串,格式为"hh:mm:ss"(例如"14:30:00"当前源文件的最后修改日期和时间,格式为(例如__FILE__当前源文件的文件名(字符串)。__LINE__当前代码行的行号(整数)。__func__(C99 标准引入)当前函数的名称(字符串)。__STDC__ 阅读详情

相关推荐

MDK中利用宏定义__DATE__和__TIME__设置产品的代码固件版本

文章目录前言一、__DATE__和__TIME__是什么?二、使用步骤1.引入库2.参考代码总结 前言 STM32开发中,利用宏定义的__DATE__和__TIME__设置产品的代码固件版本: 为了方便在编译代码的时候,自动生成代码固件的版本号,所以我们需要用到__DATE__和__TIME__这两个宏获取记录编译代码时的时间。 提示:以下是本篇文章正文内容,下面案例可供参考 一、__DATE__和__TIME__是什么? 这两个宏在编译的时候会记录当前的编译日期时间,如:Mar 16 2011 18

pikachu的博客 3486

C语言 __TIME__,__LINE__等的使用

#include #define WE\ //打印执行时间,行数,日期,文件位置 printf("%s\n %d\n %s\n %s\n",__TIME__,__LINE__,__DATE__,__FILE__) #define TRE "hello" #define TER "world" #define TRETER "bit" #define CAT(a,b) a##b //"##

demi_hu的博客 1042

调试—宏定义开关控制printf打印输出

debug,printf,log调试,串口打印

p467616的博客 2462

C语言和C++中几个预定义的宏:__DATE__,__TIME__,__FILE__,__LINE__

来自:C语言中文网 一边情况下,C/C++编译器会内置几个宏,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息。 ANSI C标准中有几个标准预定义宏(也是常用的): LINE:在源代码中插入当前源代码行号; FILE:在源文件中插入当前源文件名; DATE:在源文件中插入当前的编译日期 TIME:在源文件中插入当前编译时间; STDC:当要求程序严...

PayneZhai的博客 5279

软考中级-系统集成项目管理工程师**的超详细知识点笔记。

软考中级系统集成项目管理工程师核心知识点摘要 综合知识:涵盖信息化基础(国家信息化六要素、信息系统开发方法)、系统集成特点(高技术性、团队协作)、IT服务管理(ITIL流程)、网络技术(OSI模型、TCP/IP)、信息安全(CIA三要素、加密技术)、软件工程(生命周期、测试类型)、面向对象分析与设计(UML图)、新一代信息技术(云计算、大数据、物联网)。 案例分析:聚焦项目管理十大知识领域,重点包括: 整体管理(项目章程、变更控制流程) 范围管理(WBS分解、需求跟踪矩阵) 进度管理

最爱で毛毛熊的博客 1991

LMK04821时钟芯片SPI配置避坑指南:从寄存器读写到频率校准全流程

本文详细解析了LMK04821时钟芯片的SPI配置全流程,涵盖寄存器读写、频率校准及JESD204B系统设计中的关键技巧。通过实战案例和避坑指南,帮助工程师高效解决时钟输出异常、同步失败等常见问题,提升高速数据采集系统的时钟稳定性。

weixin_29172963的博客 160

ANSIC几种特殊的标准定义(__FILE__、__LINE__、__STDC__···)

相关标题:__FILE__、__LINE__、__DATE__、__TIME__、__STDC__为方便大家阅读,本文内容已经整理成PDF文件:http://pan.baidu.com/s/1gfHygynⅠ、写在前面对于我们大部分使用单片机进行裸机开发的朋友来说,可能很少有人在程序中许多关键的地方打印一些关键信息。有较大系统开发,或复杂系统开发经验的朋友一般都会在程序中输出很多调试信息,如在UC

strongerHuang 5755

IDEA集成selenium自动化测试(Java+Selenuim+testNG+Maven)

文章目录写在前面01 | 新建Maven项目02 | idea集成Selenium03 | 写在前面 因为软件测试的需求和博主比较经常使用Java,于是,想在Idea中集成selenuim,用Java编写测试代码,因此有了这篇文章来记录一下过程。 资源指路: java使用selenium实现模拟浏览器操作API大全 模拟登录 TestNG入门教程 感谢上面博客的大佬。 01 | 新建Maven项目 不使用骨架创建,直接点击左侧Maven,然后一路next即可。 02 | idea集成Sele

aLinxi的博客 8280

C/C++ 宏定义 __FILE__、__LINE__、__func__、__TIME__ 等

目录 一、用例测试环境 二、宏定义 2.1 __FILE__ 2.2 __LINE__ 2.3 #line 2.4__func__ 和 __FUNCTION__ 2.5__DATE__ 2.6__TIME__ 三、总结 四、参考文献 在C/C++中一些宏可以用来帮助调试或输入到 log 中,本文将整理一些常见的宏。 一、用例测试环境 整篇文章测试用例使用到的环境如下,并不是说一定要在如下环境中才有效,只是指明下本文的测试用例环境。 系统环境:CentOS ...

Muti-Agent 2万+

HyperLynx实战:手把手教你搞定DDR4信号完整性仿真(附ODT与终端电阻配置避坑)

本文详细介绍了使用HyperLynx进行DDR4信号完整性仿真的实战技巧,重点解析了ODT配置与终端电阻优化的黄金法则。通过模型准备、拓扑构建、ODT扫描等关键步骤,帮助硬件工程师规避常见设计陷阱,提升高速数字电路设计的效率与可靠性。

weixin_30861797的博客 641

芒果YOLO11改进12:即插即用 | 独家原创改进最新PWConv核心结构|来自最新CVPR2023顶会,

即插即用 | 独家原创改进最新PWConv核心结构|来自最新CVPR2023顶会,

包括YOLOv5、YOLOv7、YOLOv8等模型改进 567

linux C/C++ 宏定义 __FILE__、__LINE__、__func__、__TIME__

一、用例测试环境 整篇文章测试用例使用到的环境如下,并不是说一定要在如下环境中才有效,只是指明下本文的测试用例环境。 输入: cat /etc/redhat-release 系统环境:CentOS Linux release 7.5.1804 (Core) 测试文件名: test.c 二、宏定义 2.1 __FILE__ 作用:表示当前源文件名,类型为字符串常量; #include <stdio.h> int main() { printf("%...

weixin_43548583的博客 2386

【大语言模型 37】知识蒸馏深度实战:大模型向小模型迁移

本文深入探讨了知识蒸馏技术在大语言模型领域的应用,详细阐述了如何将庞大复杂的大模型知识有效迁移到轻量级小模型中。文章系统介绍了知识蒸馏的理论基础、多种蒸馏损失函数设计、特征匹配与注意力迁移技术、渐进式蒸馏策略以及全面的效果评估方法。通过实战案例和完整代码实现,读者将掌握从理论到实践的知识蒸馏全流程,了解如何在保持模型性能的同时显著降低计算资源需求,实现大语言模型的高效部署与应用。

熵数实验室 1510

STM32 开发必备:FILE/LINE/DATE/TIME 预定义宏详解与实战

本文详细介绍了STM32嵌入式开发中四个关键预定义宏(FILE、LINE、DATE、TIME)的实用技巧。这些由编译器自动生成的宏无需额外定义,具有编译期生效、跨平台兼容、零硬件开销的特点。文章通过实例演示了如何利用这些宏实现调试定位、自动生成固件版本、编译标识等实用功能,并特别提醒注意编译时间与运行时间的区别。这些技巧能显著提升开发效率和固件管理规范性,适用于STM32CubeIDE、Keil、IAR等主流开发环境,是嵌入式开发者必备的高效工具。

qq_1070971363的博客 656

飞行机械臂设计

其后对飞行机械臂系统的机 理模型和基于 ADAMS 的物理模型进行了控制系统的搭建,对于机理模 型,设计了三个输入通道,分别是俯仰力矩,翻滚力矩与偏航力矩,控 制量为翻滚角,俯仰角,偏航角。四旋翼无人机自身具有独特的优势,在无人机上增加机械臂,整个 机体系统相当于一架空中行动自如的空中机器人,可以适应更多的应用场合,能够实现空中抓取,运输载荷,巡航监视等任务。的函数模块如图 4-8 所示,可见输入为 U1,U2,U3,U4,分别对应总力矩,俯仰力矩,翻滚力矩,偏航力矩,控制 量为俯仰角,翻滚角,偏航角。

coldmood77的博客 2919

YOLOv11涨点改进 | 首发全网创新、主干改进篇 | AAAI 2026 | PartialNet 主干让 YOLOv11 更加强大!引入部分通道机制 和 部分注意力卷积,全方面提升了模型的性能

本文提出PartialNet主干网络改进YOLOv11的方法,通过部分通道机制(PCM)和部分注意力卷积(PATConv)提升模型效率。PartialNet将特征图通道拆分并应用不同操作,显著减少计算量和内存占用。主要创新包括:1)部分通道机制实现计算优化;2)三种注意力模块(PATch/PATsp/PATsf)增强特征提取;3)动态部分卷积(DPConv)自适应调整计算复杂度。文章详细提供了代码实现和YOLOv11集成方法。

Ai缝合怪、助力小伙伴高效发论文 269

编译的日期 和时间__DATE__ __TIME__

转自:http://biancheng.dnbcw.info/c/277439.html 文章是转载的,附上自己测试的代码,by:purple尘 #include int main() { printf("%d\n", __LINE__); printf("%s\n", __TIME__); printf("%s\n", __DATE__); printf("%

purple尘的专栏 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

宏定义及其基本应用

宏定义及其基本应用

wei_wlkq的博客 540

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

宏定义变量

LINE :当前程序行的行号,表示为十进制整型常量 (这里应该注意应该用强制转换进行转换,C51用%d直接输出可能出错) FILE :当前源文件名,表示字符串型常量 DATE :转换的日历日期,表示为Mmm dd yyyy 形式的字符串常量,Mmm是由asctime产生的。 TIME :转换的时间,表示"hh:mm:ss"形式的字符串型常量,是有asctime产生的。(asctime貌似是指的一个函数) STDC :ANSI C进行编译 STDC_VERSION :如何实现复合C89整部1,则.

博客 3892

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

1. 宏定义

【1】C/C++ 中##(两个井号)和#(一个井号) 参考博客:https://www.cnblogs.com/devcjq/articles/2430700.html ## 连接符号由两个井号组成,其功能是在带参数的宏定义中将两个子串(token)联接起来,从而形成一个新的子串。但它不可以是第一个或者最后一个子串。 #符是把传递过来的参数当成字符串进行替代。 假设程序中已经定...

diaojiao2615的博客 194

php __file__ __line__,C/C++ 宏定义 __FILE__、__LINE__、__func__、__TIME__ 等

目录在 C/C++ 中一些宏可以用来帮助调试或输入到 log 中,本文将整理一些常见的宏。一、用例测试环境整篇文章测试用例使用到的环境如下,并不是说一定要在如下环境中才有效,只是指明下本文的测试用例环境。系统环境:CentOS 7,CentOS Linux release 7.6.1810 (Core)GCC版本:gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39...

weixin_42242323的博客 157

C编程之预处理标识符——__LINE__,__FILE__,__DATE__,__TIME__,__STDC__,#,##

常用的预定义符号:     1. __FILE__     :    file顾名思义,也就是进行编译的源文件所在目录。     2. __LINE__     :   line表示进行编译的当前文件当前所在的行号。     3. __DATE__   :    date表示当前文件被编译的日期。     4. __TIME__    :    time即⽂件被编译的时间,精确到秒

JenaeLi的博客 1957

[C语言]宏定义#define的使用详解

C语言宏定义#define使用详解

yjlyyj的博客 5830

c语言line宏作用,C语言预定义宏(__LINE__、__DATE__等)浅析

ANSIC标准定义了以下5种可供C语言使用的预定义宏:__LINE__ 在源代码中插入当前源代码行号__FILE__ 在源代码中插入当前源代码文件名__DATE__ 在源代码中插入当前编译日期〔注意和当前系统日期区别开来〕__TIME__ 在源代码中插入当前编译时间〔注意和当前系统时间区别开来〕__STDC__ 当要求程序严格遵循ANSIC标准时该标识符被赋值为1。标识符__LINE__和__FI...

weixin_39782355的博客 361

C/C++宏定义

说明 用#define命令将一个指定的标识符(即宏名)来代表一个字符串。可以分为两种: 简单的宏定义 #define 表示符 字符串 举例: #define PI 3.14 float pi2 = PI * 2; //pi2 = 6.28 带参数的宏定义 #define &lt;宏名&gt; (&lt;参数表&gt;) &lt;宏体&gt; 举例: ...

GIser_Javy 1358
上一篇: 我都网址记录
下一篇: ubuntu Linux adb 连接手机,华为魅族等
葫芦娃二娃
博客等级 码龄15年 1850粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值