社区首页
博客
论坛
下载
文库
评测
芯语
研讨会
商城
EE直播间
芯视频
E聘
更多
社区
论坛
博客
下载
评测中心
面包芯语
问答
E币商城
社区活动
资讯
电子工程专辑
国际电子商情
电子技术设计
CEO专栏
eeTV
EE|Times全球联播
资源
EE直播间
在线研讨会
视频
白皮书
小测验
供应商资源
ASPENCORE Studio
活动
IIC Shanghai 2023
2023(第四届)国际 AIoT 生态发展大会
全球 MCU 生态发展大会
第四届临港半导体产业高峰论坛暨司南科技奖颁奖盛典
IIC Shenzhen 2023
第四届中国国际汽车电子高峰论坛
更多活动预告
杂志与服务
免费订阅杂志
电子工程专辑电子杂志
电子技术设计电子杂志
国际电子商情电子杂志
帖子
帖子
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
×
提示!
您尚未开通专栏,立即申请专栏入驻
帖子
博文
用户
芯语
首页
专栏作家
CEO专栏
论坛
博客
E币商城
资讯
电子工程专辑
国际电子商情
电子技术设计
宏定义
9条必学的嵌入式C语言调试技巧!宏定义的妙用
01.调试相关的宏在Linux使用gcc编译程序的时候,对于调试的语句还具有一些特殊的语法。gcc编译的过程中,会生成一些宏,可以使用这些宏分别打印当前源文件的信息,主要内容是当前的文件、当前运行的函数和当前的程序行。具体宏如下:__FILE__ 当前程序源文件 (char*)__FUNCTION__ 当前运行的函数 (char*)__LINE__ 当前的函数行 (int)这些宏不是程序代码
小麦大叔
2025-01-16
56浏览
20个C语言常用宏定义,可防止出错
关注、星标公众号,直达精彩内容来源:玩转嵌入式1. 防止一个头文件被重复包含1#ifndef COMDEF_H2#define COMDEF_H3//头文件内容4#endif2. 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。1typedef unsigned char boolean; /* Boolean value type. */2typede
李肖遥
2023-10-31
863浏览
嵌入式C语言宏定义的常用方法总结
扫描关注一起学嵌入式,一起学习,一起成长写好C语言,漂亮的宏定义很重要!使用宏定义可以防止出错,提高可移植性,可读性,方便性等。下面列举了一些成熟软件中常用的宏定义。1. 防止一个头文件被重复包含1#ifndef COMDEF_H2#define COMDEF_H3//头文件内容4#endif2. 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。1typedef
一起学嵌入式
2023-08-07
780浏览
完美实现C语言比较两个数大小的宏定义
本期话题:今天,我们聊一道C语言关于宏定义的笔试题:写一个“标准”宏MIN ,这个宏输入两个参数并返回较小的一个。聊一聊:这道题考察的是 C 语言宏定义的知识。我们很容易会想到下边的答案:#define MIN(a,b) ((a) < (b) ? (a) : (b))宏定义会在编译的时候进行替换展开,最好将宏中的参数用括号括起来。这样就避免了当一个表达式同时含有宏定义和其他高优先级运算符时,破坏
嵌入式ARM
2023-06-01
979浏览
完美实现C语言比较两个数大小的宏定义
扫描关注一起学嵌入式,一起学习,一起成长【一分钟聊嵌入式】,力求精简,争取用一分钟左右的时间读完。每篇文章讨论一个嵌入式相关的话题,技术、职场、学习方法,或者一段程序等。有小伙伴想发表自己的观点,或想了解哪些内容,公众号后台留言即可。感谢关注!本期话题今天聊一道C语言关于宏定义的笔试题:“写一个"标准"宏MIN ,这个宏输入两个参数并返回较小的一个。”聊一聊这道题考察的是 C 语言宏定义的知识。我
一起学嵌入式
2023-05-27
1372浏览
OpenCV4源码分析-宏定义
之前文章写完有个Flag,要写OpenCV的解读,后面写了展会,看书等无关紧要的文章,现在距离12点还有21分钟,我就简短的写一点分析。首先,源码我是从Github上面直接拉的最新的代码,删除一些无关紧要的文件,就变成了下面这样。其实在4的时代,只要导入这个头文件就行,因为这个文件就是把所有的实现做了一个汇总。里面集成了所有要使用的头文件里面有着条件宏来控制功能的开关与否每次处理都需要的图片读取函
云深之无迹
2022-11-05
873浏览
C语言宏定义中的迷惑行为
1. 问题以下这段代码运行后输出什么结果?#define f(a,b) a##b #define g(a) #a #define h(a) g(a) printf("h(f(1,2))-> %s, g(f(1,2))-> %s\n", h(f(1,2)), g(f(1,2)));先上答案:h(f(1,2))-> 12, g(f(1,2))-> f(1,2)也许你跟我一样,满脑子
嵌入式ARM
2022-10-27
896浏览
干货|巧用宏定义,提高开发效率
▲ 更多精彩内容 请点击上方蓝字关注我们吧!调试相关的宏开发的过程中,常常会用到一些宏定义,很多手段可以帮助我们提高调试的效率。可以使用这些宏分别打印当前源文件的信息,主要内容是当前的文件、当前运行的函数和当前的程序行。具体宏如下:__FILE__ 当前程序源文件 (char*)__FUNCTION__ 当前运行的函数 (char*)__LINE__ 当前的函数行 (int)这些宏不是程序代
电子工程世界
2022-07-09
635浏览
C语言中宏定义的盲区有哪些?
1、概念#define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。命令有两种格式:一种是简单的宏定义,另一种是带参数的宏定义。(1)简单的宏定义:#define #define VALUE ((sizeof(a)) /sizeof(a[0]))(2)带参数的宏定义 #define () #define M
嵌入式ARM
2022-06-28
1105浏览
巧用宏定义,提高开发效率
点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达调试相关的宏 开发的过程中,常常会用到一些宏定义,很多手段可以帮助我们提高调试的效率。可以使用这些宏分别打印当前源文件的信息,主要内容是当前的文件、当前运行的函数和当前的程序行。具体宏如下:__FILE__ 当前程序源文件 (char*)__FUNCTION__ 当前运行的函数 (char*)__LINE__ 当前的函数行
小麦大叔
2022-06-17
760浏览
小知识:C语言宏定义中#和##符号的用法
在某些C语言代码中,有时我们可能会看到宏定义中带有#、##,这些符号有特殊的作用。下面,我们用几个简单的例子来说明一下。1、一个#的作用一个#的作用就是把后面的参数当做一个字符串,也就是说等同于把后面的宏变量加上双引号:运行上述代码,可以得到输出:Hello world 1Hello world 2这说明 #define PRINT(NAME) printf(#NAME)这个宏,等同于把NAM
嵌入式ARM
2022-06-16
1407浏览
嵌入式C宏定义特殊操作符的用法
大家好,我是杂烩君。这是篇基础知识文章,分享嵌入式C语言宏定义中特殊操作符的用法。#运算符 #号作为一个预处理运算符,可以把记号转换成字符串。例子:#include #define INT_TO_STR(n) #n#define VERSION(major, minor) "V"INT_TO_STR(major)"."INT_TO_STR(minor)#define ENUM_TO_STR(e)
嵌入式大杂烩
2022-03-16
889浏览
写好C语言,宏定义很重要!
写好C语言,漂亮的宏定义很重要!使用宏定义可以防止出错,提高可移植性,可读性,方便性等。下面列举了一些成熟软件中常用的宏定义。1. 防止一个头文件被重复包含1#ifndef COMDEF_H2#define COMDEF_H3//头文件内容4#endif2. 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。1typedef unsigned char boole
嵌入式资讯精选
2022-02-23
660浏览
写好C语言,宏定义很重要!
点击上方“C语言与CPP编程”,选择“关注/置顶/星标公众号”干货福利,第一时间送达!来源:玩转嵌入式写好C语言,漂亮的宏定义很重要!使用宏定义可以防止出错,提高可移植性,可读性,方便性等。下面列举了一些成熟软件中常用的宏定义。1. 防止一个头文件被重复包含1#ifndef COMDEF_H2#define COMDEF_H3//头文件内容4#endif2. 重新定义一些类型,防止由于各种平台和编
C语言与CPP编程
2022-02-23
1150浏览
19个C语言必杀技,宏定义的常用方法总结~
写好C语言,漂亮的宏定义很重要!使用宏定义可以防止出错,提高可移植性,可读性,方便性等。下面列举了一些成熟软件中常用的宏定义。1. 防止一个头文件被重复包含1#ifndef COMDEF_H2#define COMDEF_H3//头文件内容4#endif2. 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。1typedef unsigned char boole
嵌入式资讯精选
2022-02-14
947浏览
19个C语言必杀技,宏定义的常用方法总结
点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达写好C语言,漂亮的宏定义很重要!使用宏定义可以防止出错,提高可移植性,可读性,方便性等。下面列举了一些成熟软件中常用的宏定义。1. 防止一个头文件被重复包含1#ifndef COMDEF_H2#define COMDEF_H3//头文件内容4#endif2. 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异
小麦大叔
2022-02-13
825浏览
嵌友们,BUG不好找?那是因为宏定义没用好!
宏打印函数在我们的嵌入式开发中,使用printf打印一些信息是一种常用的调试手段。但是,在打印的信息量比较多的时候,就比较难知道哪些信息在哪个函数里进行打印。特别是对于异常情况的打印,我们需要快速定位到异常情况的位置。这时候我们可以使用宏定义来封装一个宏打印函数,这个宏打印函数可以显示打印信息所在的文件、行数、函数名等信息。如:左右滑动查看全部代码>>>#define
嵌入式资讯精选
2021-12-10
896浏览
嵌友们,BUG不好找?那是因为宏定义没用好!
宏打印函数在我们的嵌入式开发中,使用printf打印一些信息是一种常用的调试手段。但是,在打印的信息量比较多的时候,就比较难知道哪些信息在哪个函数里进行打印。特别是对于异常情况的打印,我们需要快速定位到异常情况的位置。这时候我们可以使用宏定义来封装一个宏打印函数,这个宏打印函数可以显示打印信息所在的文件、行数、函数名等信息。如:左右滑动查看全部代码>>>#define DBG_PRINTF(fmt
嵌入式资讯精选
2021-12-10
795浏览
BUG不好找?宏定义没用好!
宏打印函数 在我们的嵌入式开发中,使用printf打印一些信息是一种常用的调试手段。但是,在打印的信息量比较多的时候,就比较难知道哪些信息在哪个函数里进行打印。特别是对于异常情况的打印,我们需要快速定位到异常情况的位置。这时候我们可以使用宏定义来封装一个宏打印函数,这个宏打印函数可以显示打印信息所在的文件、行数、函数名等信息。如:左右滑动查看全部代码>>>#define DBG_PRINTF(fm
电子电路开发学习
2021-12-09
858浏览
写好C语言,漂亮的宏定义很重要!
写好C语言,漂亮的宏定义很重要!使用宏定义可以防止出错,提高可移植性,可读性,方便性等。下面列举了一些成熟软件中常用的宏定义。1. 防止一个头文件被重复包含1#ifndef COMDEF_H2#define COMDEF_H3//头文件内容4#endif2. 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。1typedef unsi
嵌入式ARM
2021-11-29
758浏览
C语言宏定义中的迷惑行为
↑点击上方蓝色字体,关注“嵌入式软件实战派”获得更多精彩内容。1. 问题以下这段代码运行后输出什么结果?#define f(a,b) a##b #define g(a) #a #define h(a) g(a) printf("h(f(1,2))-> %s, g(f(1,2))-> %s\n", h(f(1,2)),
嵌入式软件实战派
2021-10-07
1592浏览
嵌入式编程中常用的宏定义有哪些?
关注「Linux大陆」,选择「星标公众号」一起进步!嵌入式编程中,宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性等等。下面列举一些成熟软件中常用的宏定义。1. 防止一个头文件被重复包含1#ifndef COMDEF_H2#define COMDEF_H3//头文件内容4#endif2. 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异
嵌入式大杂烩
2021-10-02
1222浏览
实用 | 嵌入式中常用的宏定义
点击上方「嵌入式大杂烩」,选择「置顶公众号」第一时间查看嵌入式笔记!来源:技术让梦想更伟大写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性等等。下面列举一些成熟软件中常用的宏定义。1. 防止一个头文件被重复包含2. 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。下面的不建议使用3. 得到指定地址上的一个字节或字4. 求最大值
嵌入式大杂烩
2021-06-18
969浏览
嵌入式工程师常用的宏定义
写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性等等。下面列举一些成熟软件中常用的宏定义。1. 防止一个头文件被重复包含1#ifndef COMDEF_H2#define COMDEF_H3//头文件内容4#endif2. 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。1typedef unsi
面包板社区
2021-06-15
835浏览
为啥变量没初始化就用了?那是宏定义啊!
一、问题 为啥内核有的变量没有初始化就敢直接使用?二、分析 看上图,其中的5747行的变量nid的确没有定义,就直接使用了,这么做没有问题吗?其实大家仔细看一下,5765行是一个宏,到内核源码去找该宏的定义:linux-3.14\include\linux\Nodemask.h#define for_each_online_node(node) for_each_node_st
嵌入式从0到1
2021-04-07
630浏览
正在努力加载更多...
广告
今日
新闻
1
英伟达CEO黄仁勋现身深圳:只是来与员工共庆春节
2
Wolfspeed得州工厂关闭并挂牌出售,裁员75人
3
独角兽沐曦启动A股IPO,国产GPU企业上市潮延续
4
深耕中国40年,ST“双供应链” 模式开启本地化战略新篇章
5
继美光、三星、Kioxia后,又一存储大厂宣布减产NAND闪存10%
6
零容忍!打击假货!国产芯片厂商乐鑫严正声明
7
消灭“药丸屏”设计,苹果发布iPhone屏下Face ID“隐身术”的新专利
8
小米进军韩国市场,线上出售智能手机、电视机…
热门
文章排行
1
特斯拉上海超级工厂拟停产升级
一览众车
8022
2
美国扩大封杀!7nm变16nm!
集成电路IC
2409
3
传美国对大陆芯片限制:从7nm降到16nm
strongerHuang
2186
4
美国人突然挤爆小红书的原因找到了,难民们说出了实情!
快科技
1991
5
500多名员工签证有问题,比亚迪或被巴西重罚!
谈思汽车
1977
6
美国拟管制16nm!
半导体工艺与设备
1504
7
史无前例!华为Pura80多项自研新技术落地,影像之王几乎没跑了!
飙叔科技洞察
1458
8
特朗普,会见扎克伯格!
科创板日报
1418
9
富士康撤离印度!
集成电路IC
1249
10
最后的疯狂!美国将全面禁止向中国出口AI芯片,禁令升级为全球性限制!
飙叔科技洞察
1133
11
2025CES英伟达发布洞察:AgenticAI/PhysicalAI快速落地,未来已来
Vehicle
1037
12
确实厉害!这几家保险公司停止保险后,加州火灾就爆发了
阿尔法工场研究院
997
13
传芯片限制:或扩至16nm!收紧AI芯片出口
芯极速
803
14
中国人造太阳再迎重大突破核聚变商业化远景渐明晰
科创板日报
803
15
2025六大未来产业发展趋势与人工智能八大落地场景洞察
智能计算芯世界
776
16
海康机器人IPO进程更新;四向车厂商智世机器人完成A轮融资
移动机器人产业联盟
757
17
高德红外加速布局AI时代,催生红外行业新机遇
MEMS
751
18
刚刚,美国正式公布AI芯片出口新限制!但有例外…
芯通社
740
19
靴子落地!美国正式推出全球AI芯片禁令:AMD、英伟达GPU禁运往中国大陆
集成电路IC
698
20
又一家新势力爆雷
一览众车
692
21
精准定制,异型无忧:西安励德实现倾斜侧壁新突破
MEMS
660
22
敏感时期!英伟达CEO黄仁勋即将访问中国;强烈反对美国AI芯片限制新措施!
飙叔科技洞察
630
23
脑机接口,频频迎重磅政策!
科创板日报
629
24
CES2025|一览NVIDIA在CES带来的重磅发布!
英伟达NVIDIA中国
628
25
2025CES英特尔:PC芯片帝王在汽车业的倔强-唯一提供整体方案
Vehicle
623
26
彻底终结!诺基亚智能机最后一次宣告“死亡”!
EETOP
595
27
美国AI芯片管制新规,引发英伟达和甲骨文等集体反对!
飙叔科技洞察
578
28
算电协同!华为指明AIDC十大趋势
科创板日报
555
29
2025年会很难,这有五个建议……
悲了伤的白犀牛
536
30
最便宜苹果手机来了!iPhoneSE4配置、售价大曝光:8大升级性价比爆棚
快科技
508
广告
最新
评论
更多>>
一般喜欢标榜“打破垄断”“国x领先”的都死的比较快。嘴比手厉害
56089689_...
评论文章
2025-01-07
砺芯慧感:量产薄膜铂电阻传感器,打破国外30年垄断
我这,原先V10.5跑的好好的代码,更新V11后,单片机初始化时就不断重启
vaov_3734...
评论文章
2025-01-06
FreeRTOSV11.0升级了多项重要功能,兼容V10版本
资料
文库
帖子
博文
1
元能芯24V全集成电机专用开发板
2
电子元器件检测技能速成
3
《时间的1000个瞬间》林为民
4
自动增益控制放大器设计与实现
5
无线传能充电器设计与实现论文
6
基于单片机自动电阻测试仪设计论文
7
ESP32TFT常用字体库.zip
8
《时间简史》(霍金 著)
9
晶体管电路设计-铃木雅臣(上).pdf
10
基于单片机音频信号分析仪设计论文
1
【工程师故事】+2024年:资深嵌入式工程师在职读研的第一年,收获颇丰
2
求助 请推荐一款8脚的DCDC , 12V 变5V的, 2A 就行,不虚标。
3
〖思路〗 反偏PN结的 四种状态
4
超低频示波器的原理和应用
5
PD快充电源接诱骗器输出高压大电流给负载,比如接上诱骗器之后才能输出28V5A给负载,那诱骗器本身要承受140W的功率?或者说要承受5A的电流?诱骗...
6
【工程师故事】+ 为梦想坚守,为创新前行
7
阻抗分析仪和矢量网络分析仪测试阻抗有哪些异同点?
8
【富芮坤FR3068x-C】智能家居控制终端----基于官方SDK的基础版
1
毫秒必争,极致性能——深度解析电竞鼠标测试及解决方案
2
百佳泰整理2025年1月各大规格更新快报
3
智能显示器有哪些应用风险?
4
EMC电磁兼容——元器件(TVS)
5
3.1s快速启动!飞凌嵌入式i.MX93开发板部署LVGL,打造更高效的GUI
6
Matter“利好”频出,如何0门槛进行Matter标准认证?
7
简析光耦在带过零检测的辅助电源的广泛应用
8
艾迈斯欧司朗×法雷奥:打造动态舱内环境
1
eMMC走线难度不大!多注意这些
2
相噪常见的测量有以下几种方式
3
为什么要使用恒流源电路?
4
DC-DCBuck芯片、提高效率、电感选型、消除Buck转换器EMI
5
如何在VSCode中显示空格和TAB?
6
想要看懂电路图,先熟知基本单元电路
7
模拟量设备为什么偏爱用4~20mA传输信号?
8
各种变压器知识大全详细讲解
9
汽车磁电型、霍尔型、磁阻型传感器原理
10
如何快速寻找出板子中的地线?4个快速方法
在线研讨会
重塑机器人未来:揭秘创新芯片解决方案的颠覆力量
多路有光·精准不凡——KSW-SGM01模拟信号源发布会
迈来芯Triaxis® 3D磁传感器:汽车安全应用的优选方案
适用于安全连接的新一代PIC32CK SG/GC系列单片机
EE直播间
高效协同与版本管理:Cliosoft助力现代芯片设计
直播时间:02月26日 10:00
第三代功率半导体器件测试解决方案
直播时间:03月06日 10:00
E聘热招职位
本网页已闲置超过10分钟,按键盘任意键或点击空白处,即可回到网页
X
最新资讯
英伟达CEO黄仁勋现身深圳:只是来与员工共庆春节
Wolfspeed得州工厂关闭并挂牌出售,裁员75人
独角兽沐曦启动A股IPO,国产GPU企业上市潮延续
深耕中国40年,ST“双供应链” 模式开启本地化战略新篇章
继美光、三星、Kioxia后,又一存储大厂宣布减产NAND闪存10%