几种C标准用法,例如__FILE__和__LINE__

作者:StrongHuang微信公众号:StrongHuang C语言有很多特殊用途,如果正确使用这些特殊用途,您的代码将变得更健壮,更易于维护。例如,当我们使用STM32库的断言时,您会发现官方代码包含“ __FILE __,__ LINE__”。
标准外围设备库位于stm32fxxx_conf.h文件中:#define assert_param(expr)((expr)?(Void)0:assert_failed((uint8_t *)__ FILE__,__LINE__))HAL enable断言:您将看到以下代码在代码中:如果添加了此断言代码,则此语句对于开发大型和复杂的系统很有用。每当程序运行错误时,它将打印程序代码指定的位置,以便我们可以在大型程序中快速找到错误的位置。
我们的系统将随着时间的推移不断升级和更新,这意味着需要提交许多版本的可执行文件(十六进制,bin等)。但是,在以后使用该产品时,我们升级了一些设备,并且可能忽略了一些设备(忘记升级)。
如果出现故障,我们如何快速查找哪个版本的软件出现故障?我们的系统将随着时间的推移不断升级和更新,这意味着需要提交许多版本的可执行文件(十六进制,bin等)。但是,在以后使用该产品时,我们升级了一些设备,并且可能忽略了一些设备(忘记升级)。
如果出现故障,我们如何快速查找哪个版本的软件出现故障? C几个特殊的标准定义__FILE__:正在编译的文件的文件名__LINE__:正在编译的文件的行号__DATE__:在编译时的日期字符串,例如“ Sep 22 2020”。 __TIME__:编译时的时间字符串,例如“ 10:00:00”。
__STDC__:确定文件是否为标准C程序1 .__ FILE__编译文件的名称File是中文文件,此处的含义主要是指与正在编译的文件相对应的正在编译的文件的路径和名称。与Keil版本相对应的路径是相对于项目文件的,而IAR版本路径是相对于Windows路径的。
源代码:char BuildFile [] = __FILE __; printf(“”编译文件路径:%s ”,BuildFile); Keil:编译文件路径:Appmain.cIAR:编译文件路径:C:UsersstrongerHuangDesktop项目主目录Appmain.c2 .__ LINE__编译文件行号上面提到的是编译文件名,它是一个字符串,这是行号,这是一个整数变量。这是两者之间的区别。
例如,将源代码添加到项目中:char BuildLine = __LINE __; printf(“”编译后的代码所在的行:%d ”,BuildLine);不能是字符串数组,不能打印信息:编译代码行:44在正常情况下,__ FILE__与__LINE__结合使用可以打印我们的代码信息并快速找到代码位置。 3. __DATE__编译日期__DATE__日期,应注意:该日期是Windows系统在编译时的日期,如果代码的相应部分之前已编译,并且没有后续编译,则此日期仍为前一个日期。
日期,并且不是以后编译的日期。因此,如果此处使用的是固定版本,则在该版本固定后,您需要重新编译项目,并且该项目将更新为上次编译的日期。
代码:char BuildDate [] = __DATE __; printf(“编译日期:%s ”,BuildDate);输出结果:编译日期:2017年9月22日4. __TIME__编译时间这与__DATE__相同,编译时间也是一个字符串。再次提醒:对于固定版本:需要重新编译,这是最后一次编译时间。
代码:char BuildTime [] = __TIME __; printf(“”编译时间:%s ,“ BuildTime”);输出结果编译时间:10:00:00 5. __STDC__标准C代码是在我们的微控制器和嵌入式编程中很少使用的标准。当要求程序严格遵循ANSIC标准时,将为该标识符分配1。
主要是判断我们的程序文件是否为标准C程序。代码:#ifdef __STDC__ printf(“标准C代码文件 ");#else printf("非标准C代码文件 ");#endif推荐阅读:FreeRTOS V10.4.0中已更新了哪些功能? Su,sudo,sudo su和sudo -i的使用和区别百度SkyDrive国际版的Dubox干净易用,但没有机会关注与国内用户之间的微信官方帐户。
回复“ 1024”在后台查看更多内容,请在“按照规定加入技术交流小组。长按可转到图片中包含的官方帐户,以关注免责声明:此文章的内容。

公司: 深圳市捷比信实业有限公司

电话: 0755-29796190

邮箱: momo@jepsun.com

产品经理: 李经理

QQ: 2215069954

地址: 深圳市宝安区翻身路富源大厦1栋7楼

微信二维码

更多资讯

获取最新公司新闻和行业资料。

  • 合金电阻_合金贴片电阻_铜丝电阻 合金电阻是一种以合金为电流介质的电阻。它一般具有低电阻、高精度、低温度系数、耐冲击电流、大功率等特点。这种电阻常见于各种电子产品中,主要用于电流采样或短路保护。在电阻中,一种以合金为制作材料的电阻,我...
  • 分流器_分流电阻_分流电阻的选择 分流电阻的作用是什么_分流电阻的选择电流检测分流电阻是电子系统的一项重要功能,但其复杂性往往被低估。准确测量电流远没有测量电压那么容易,而在尝试测量连接到相对较高电源电压的负载的电流时则更加困难。此时,...
  • 天二金属膜电阻_金属膜合金电阻_金属膜微电阻TRL系列 天二(ever ohms)金属膜微电阻TRL系列是属于片式金属膜微电阻,天二TRL金属膜电阻有分为标准品与长电极两类,这类金属膜电阻具有大电流,低阻值,高电流传感等特点,被广泛应用,下面大致区分类别。天二(ever ohms)金属膜...
  • 天二抗脉冲电阻_天二抗脉冲金属微电阻_金属膜TGL系列微电阻 天二金属膜TGL系列是属于抗脉冲金属膜微电阻,具有较好的抗脉冲能力,低阻值,高功率,长效稳定性能好等特点。天二金属膜TGL系列抗脉冲金属微电阻的主要特点:1.低电阻/TCR/电感(≤5nH)2. 卓越的长期稳定性3.高精度电流传感...
  • 天二分流器电阻SR系列_天二分流器电阻_天二SR合金电阻 天二分流器电阻SR系列是属于锰铜合金分流器电阻,最低阻值可到0.2mR,最高功率可达15W。天二分流器电阻SR系列的主要特点有:1.低电阻/TCR2.良好的长期稳定性3.符合ROHS,无卤无铅4.高精度电流传感和电压划分,优秀的抗清洗能力5...
  • 精密电阻_高精密贴片电阻应用领域 在日常生产中,可以使用线性电阻来模拟贴片电阻的高精度低温漂移特性,将电压和电流值限制在额定条件内。该技术也可应用于插入式电阻器。如果电压或电流超过规定值,电阻会因过热而不符合欧姆定律,甚至烧坏。贴片电...
  • 精密电阻_精密贴片电阻的制作流程图 精密电阻是贴片电阻的一种,具有很高的ppm值,可以达到1ppm,精密电阻的特点是:防潮、耐高温、可靠性高、外观尺寸均匀、精度高、温度系数和电阻公差小。精密电阻器通常是金属膜电阻器,它是在绝缘基板上通过蒸发和溅射...
  • 精密电阻_深圳超精密电阻器厂家直销 精密电阻是的一种,主要是有高精度,低温漂和高可靠性的一种电阻器。 最低温漂可以做到1PPM,最高精度可以做到0.01%。 精密电阻器 ,由Precision resistance翻译而来,简称精密电阻。 普通电阻器区别高 精密电阻器 的主要依据为阻...
  • 绕线电感_精密绕线电感厂家 绕线电感适用于电源供应电路,该产品被广泛用于微型电视、液晶电视、摄影机等。特征:1. 适用于电源电路。2.表面粘合型。3、外观尺寸符合EIA标准,有不同尺寸可供选择。4. 良好的可焊性和耐热性,适用于一般焊接和回流焊...
  • 金属箔电阻_光颉金属箔电阻现货供应 电阻为金属箔电阻,可实现大功率、低成本、低温漂。其性能远高于普通厚膜电阻,成本远低于合金电阻。本产品为维京推荐,主要适用于PD快充、移动电源、电池保护板等。随着移动设备的不断发展,移动设备的功耗也在不断增...
  • 自恢复保险丝_贴片自恢复保险丝选型指南 SMD自恢复保险丝是一种热半导体材料,其灵敏度不高。如果不考虑灵敏度,完全可以使用。熔断器的主要参数是熔断电流。只要耐压超过实际电路中的电压,比如我们常见的玻璃管保险丝,一般的目标耐压是250VAC,但在实际应用...
  • 天二金属膜电阻TUL系列_天二金属膜微电阻 天二(ever ohms)金属膜微电阻属于半合金合金电阻的范畴,TUL系列是属于超耐突波金属为微电阻,具有超耐突波,高功率,低阻值,大电流等特点,广泛应用于各类消费类电子产品之中,金属膜微电阻具有比合金电阻有更宽泛的...
  • double sum = 0.0; for(int i = 0; i < n; i++) { if(resistors[i] > 0) { sum += 1.0 / resistors[i]; 在C语言中计算并联电阻的总电阻是一个常见的应用问题,它涉及到基本的物理知识与编程技巧的结合。并联电路中的总电阻可以通过所有并联电阻倒数的和的倒数来计算。首先,我们需要定义一个函数来处理这一计算过程。例如...
  • 高精密贴片电阻阻值表标准阻值表E-96 0603F(+1%) Standard Resistance Table 标准阻值表1 E-96 阻值 代码 阻值 代码 阻值 代码 阻值 代码 阻值 代码 阻值 代码 10 01X 100 01A 1.00K 01B 10.0K 01C 100K 01D 1M 01E 10.2 02X 102 02A 1.02K 02B 10.2K 02C 102K 02D 10.5 03X 105 03A 1.05K 03B 10.5K 03C 105K 03D 10.7 04X 107 04A 1.07K 04B 10.7K 04C 107K 04D 11 05...
  • 现货SMC压力开关ISE30A-01-N-L: 高性能与可靠性的结合 现货供应的SMC压力开关ISE30A-01-N-L是一种高性能的自动化控制元件,广泛应用于各种工业领域。这款压力开关具备精确的压力检测功能,能够在系统压力达到预设值时迅速做出反应,从而实现对机械设备的有效控制。ISE30A-01-N-L型号...
  • 提高功率因数的几种方法 提高功率因数的几种方法可分为两种方法:提高自然功率因数和使用人工补偿:改善自然因素的方法:1) 合理选择电动机的容量,降低电动机的无功功率消耗,防止“大马拉小车”。2) 对于平均负载小于其额定容量约40%的轻负...
  • PR(L)30开关:功能与应用场景概述 在探讨PR(L)30开关时,我们实际上是在讨论一种特定类型的电气设备,它被广泛应用于各种工业和商业环境中。PR(L)30开关可能是某种型号或类别的开关,但由于信息有限,这里只能假设其功能和应用场景。通常来说,这种开...
  • 万用表测电阻显示0.L的原因解析 当使用万用表测量电阻时,如果显示屏上出现“0.L”的读数,这通常意味着被测电阻值小于万用表能够准确显示的最小值。具体来说,“0.L”中的“L”代表低(Low)的意思,表示电阻值过低以至于超出了当前量程设置下的分辨率...
  • 如何选择符合GB/T 10228标准的功率电阻?以TR20 TO-220 20W为例 基于标准选型:从性能到合规性全面考量在现代电力电子系统设计中,选择一款既满足性能需求又符合国家标准的功率电阻至关重要。以TR20 TO-220 20W为例,可从以下几个维度进行科学选型。1. 功率与散热匹配TR20标称20W功率,但在...
  • PTTC聚鼎PG38E-L气体放电管参数及应用领域 PTTC聚鼎PG38E-L气体放电管是一种高效能的过电压保护器件,广泛应用于通信设备、工业控制设备、安防系统等领域。该气体放电管以其优越的性能和稳定的特性,在电力系统中起到了关键的保护作用。以下是关于PTTC聚鼎PG38E-L气体...