社区首页
博客
论坛
下载
文库
评测
芯语
研讨会
商城
EE直播间
芯视频
E聘
更多
社区
论坛
博客
下载
评测中心
面包芯语
问答
E币商城
社区活动
资讯
电子工程专辑
国际电子商情
电子技术设计
CEO专栏
eeTV
EE|Times全球联播
资源
EE直播间
在线研讨会
视频
白皮书
小测验
供应商资源
ASPENCORE Studio
活动
IIC Shanghai 2023
2023(第四届)国际 AIoT 生态发展大会
全球 MCU 生态发展大会
第四届临港半导体产业高峰论坛暨司南科技奖颁奖盛典
IIC Shenzhen 2023
第四届中国国际汽车电子高峰论坛
更多活动预告
杂志与服务
免费订阅杂志
电子工程专辑电子杂志
电子技术设计电子杂志
国际电子商情电子杂志
帖子
帖子
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
×
提示!
您尚未开通专栏,立即申请专栏入驻
帖子
博文
用户
芯语
首页
专栏作家
CEO专栏
论坛
博客
E币商城
资讯
电子工程专辑
国际电子商情
电子技术设计
宏定义
20个C语言常用宏定义,可防止出错
关注、星标公众号,直达精彩内容来源:玩转嵌入式1. 防止一个头文件被重复包含1#ifndef COMDEF_H2#define COMDEF_H3//头文件内容4#endif2. 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。1typedef unsigned char boolean; /* Boolean value type. */2typede
李肖遥
2023-10-31
853浏览
嵌入式C语言宏定义的常用方法总结
扫描关注一起学嵌入式,一起学习,一起成长写好C语言,漂亮的宏定义很重要!使用宏定义可以防止出错,提高可移植性,可读性,方便性等。下面列举了一些成熟软件中常用的宏定义。1. 防止一个头文件被重复包含1#ifndef COMDEF_H2#define COMDEF_H3//头文件内容4#endif2. 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。1typedef
一起学嵌入式
2023-08-07
760浏览
完美实现C语言比较两个数大小的宏定义
本期话题:今天,我们聊一道C语言关于宏定义的笔试题:写一个“标准”宏MIN ,这个宏输入两个参数并返回较小的一个。聊一聊:这道题考察的是 C 语言宏定义的知识。我们很容易会想到下边的答案:#define MIN(a,b) ((a) < (b) ? (a) : (b))宏定义会在编译的时候进行替换展开,最好将宏中的参数用括号括起来。这样就避免了当一个表达式同时含有宏定义和其他高优先级运算符时,破坏
嵌入式ARM
2023-06-01
957浏览
完美实现C语言比较两个数大小的宏定义
扫描关注一起学嵌入式,一起学习,一起成长【一分钟聊嵌入式】,力求精简,争取用一分钟左右的时间读完。每篇文章讨论一个嵌入式相关的话题,技术、职场、学习方法,或者一段程序等。有小伙伴想发表自己的观点,或想了解哪些内容,公众号后台留言即可。感谢关注!本期话题今天聊一道C语言关于宏定义的笔试题:“写一个"标准"宏MIN ,这个宏输入两个参数并返回较小的一个。”聊一聊这道题考察的是 C 语言宏定义的知识。我
一起学嵌入式
2023-05-27
1358浏览
OpenCV4源码分析-宏定义
之前文章写完有个Flag,要写OpenCV的解读,后面写了展会,看书等无关紧要的文章,现在距离12点还有21分钟,我就简短的写一点分析。首先,源码我是从Github上面直接拉的最新的代码,删除一些无关紧要的文件,就变成了下面这样。其实在4的时代,只要导入这个头文件就行,因为这个文件就是把所有的实现做了一个汇总。里面集成了所有要使用的头文件里面有着条件宏来控制功能的开关与否每次处理都需要的图片读取函
云深之无迹
2022-11-05
865浏览
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
890浏览
干货|巧用宏定义,提高开发效率
▲ 更多精彩内容 请点击上方蓝字关注我们吧!调试相关的宏开发的过程中,常常会用到一些宏定义,很多手段可以帮助我们提高调试的效率。可以使用这些宏分别打印当前源文件的信息,主要内容是当前的文件、当前运行的函数和当前的程序行。具体宏如下:__FILE__ 当前程序源文件 (char*)__FUNCTION__ 当前运行的函数 (char*)__LINE__ 当前的函数行 (int)这些宏不是程序代
电子工程世界
2022-07-09
615浏览
C语言中宏定义的盲区有哪些?
1、概念#define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。命令有两种格式:一种是简单的宏定义,另一种是带参数的宏定义。(1)简单的宏定义:#define #define VALUE ((sizeof(a)) /sizeof(a[0]))(2)带参数的宏定义 #define () #define M
嵌入式ARM
2022-06-28
1100浏览
巧用宏定义,提高开发效率
点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达调试相关的宏 开发的过程中,常常会用到一些宏定义,很多手段可以帮助我们提高调试的效率。可以使用这些宏分别打印当前源文件的信息,主要内容是当前的文件、当前运行的函数和当前的程序行。具体宏如下:__FILE__ 当前程序源文件 (char*)__FUNCTION__ 当前运行的函数 (char*)__LINE__ 当前的函数行
小麦大叔
2022-06-17
752浏览
小知识:C语言宏定义中#和##符号的用法
在某些C语言代码中,有时我们可能会看到宏定义中带有#、##,这些符号有特殊的作用。下面,我们用几个简单的例子来说明一下。1、一个#的作用一个#的作用就是把后面的参数当做一个字符串,也就是说等同于把后面的宏变量加上双引号:运行上述代码,可以得到输出:Hello world 1Hello world 2这说明 #define PRINT(NAME) printf(#NAME)这个宏,等同于把NAM
嵌入式ARM
2022-06-16
1393浏览
嵌入式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
882浏览
写好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
1147浏览
19个C语言必杀技,宏定义的常用方法总结~
写好C语言,漂亮的宏定义很重要!使用宏定义可以防止出错,提高可移植性,可读性,方便性等。下面列举了一些成熟软件中常用的宏定义。1. 防止一个头文件被重复包含1#ifndef COMDEF_H2#define COMDEF_H3//头文件内容4#endif2. 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。1typedef unsigned char boole
嵌入式资讯精选
2022-02-14
930浏览
19个C语言必杀技,宏定义的常用方法总结
点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达写好C语言,漂亮的宏定义很重要!使用宏定义可以防止出错,提高可移植性,可读性,方便性等。下面列举了一些成熟软件中常用的宏定义。1. 防止一个头文件被重复包含1#ifndef COMDEF_H2#define COMDEF_H3//头文件内容4#endif2. 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异
小麦大叔
2022-02-13
814浏览
嵌友们,BUG不好找?那是因为宏定义没用好!
宏打印函数在我们的嵌入式开发中,使用printf打印一些信息是一种常用的调试手段。但是,在打印的信息量比较多的时候,就比较难知道哪些信息在哪个函数里进行打印。特别是对于异常情况的打印,我们需要快速定位到异常情况的位置。这时候我们可以使用宏定义来封装一个宏打印函数,这个宏打印函数可以显示打印信息所在的文件、行数、函数名等信息。如:左右滑动查看全部代码>>>#define DBG_PRINTF(fmt
嵌入式资讯精选
2021-12-10
791浏览
嵌友们,BUG不好找?那是因为宏定义没用好!
宏打印函数在我们的嵌入式开发中,使用printf打印一些信息是一种常用的调试手段。但是,在打印的信息量比较多的时候,就比较难知道哪些信息在哪个函数里进行打印。特别是对于异常情况的打印,我们需要快速定位到异常情况的位置。这时候我们可以使用宏定义来封装一个宏打印函数,这个宏打印函数可以显示打印信息所在的文件、行数、函数名等信息。如:左右滑动查看全部代码>>>#define
嵌入式资讯精选
2021-12-10
894浏览
BUG不好找?宏定义没用好!
宏打印函数 在我们的嵌入式开发中,使用printf打印一些信息是一种常用的调试手段。但是,在打印的信息量比较多的时候,就比较难知道哪些信息在哪个函数里进行打印。特别是对于异常情况的打印,我们需要快速定位到异常情况的位置。这时候我们可以使用宏定义来封装一个宏打印函数,这个宏打印函数可以显示打印信息所在的文件、行数、函数名等信息。如:左右滑动查看全部代码>>>#define DBG_PRINTF(fm
电子电路开发学习
2021-12-09
852浏览
写好C语言,漂亮的宏定义很重要!
写好C语言,漂亮的宏定义很重要!使用宏定义可以防止出错,提高可移植性,可读性,方便性等。下面列举了一些成熟软件中常用的宏定义。1. 防止一个头文件被重复包含1#ifndef COMDEF_H2#define COMDEF_H3//头文件内容4#endif2. 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。1typedef unsi
嵌入式ARM
2021-11-29
748浏览
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
1588浏览
嵌入式编程中常用的宏定义有哪些?
关注「Linux大陆」,选择「星标公众号」一起进步!嵌入式编程中,宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性等等。下面列举一些成熟软件中常用的宏定义。1. 防止一个头文件被重复包含1#ifndef COMDEF_H2#define COMDEF_H3//头文件内容4#endif2. 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异
嵌入式大杂烩
2021-10-02
1215浏览
实用 | 嵌入式中常用的宏定义
点击上方「嵌入式大杂烩」,选择「置顶公众号」第一时间查看嵌入式笔记!来源:技术让梦想更伟大写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性等等。下面列举一些成熟软件中常用的宏定义。1. 防止一个头文件被重复包含2. 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。下面的不建议使用3. 得到指定地址上的一个字节或字4. 求最大值
嵌入式大杂烩
2021-06-18
961浏览
嵌入式工程师常用的宏定义
写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性等等。下面列举一些成熟软件中常用的宏定义。1. 防止一个头文件被重复包含1#ifndef COMDEF_H2#define COMDEF_H3//头文件内容4#endif2. 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。1typedef unsi
面包板社区
2021-06-15
828浏览
为啥变量没初始化就用了?那是宏定义啊!
一、问题 为啥内核有的变量没有初始化就敢直接使用?二、分析 看上图,其中的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
624浏览
为啥变量没初始化就用了?那是宏定义啊!
一、问题 为啥内核有的变量没有初始化就敢直接使用? 二、分析 看上图,其中的5747行的变量nid的确没有定义,就直接使用了,这么做没有问题吗? 其实大家仔细看一下,5765行是一个宏, 到内核源码去找该宏的定义:linux-3.14\include\linux\Nodemask.h #define for_each_online_node(node)&nbs
嵌入式从0到1
2021-04-07
1515浏览
正在努力加载更多...
广告
今日
新闻
1
蔡司成功收购Beyond Gravity光刻业务
2
意法半导体:让可持续世界从概念变为现实
3
如何制作双变频的航空波段接收机?
4
极越汽车引爆财务危机,CEO讨薪争议被员工围堵
5
Rapdidus宣布2025年4月实际生产2纳米芯片,挑战不小
6
苹果芯片有新消息,与博通、联发科有关
7
ChatGPT突发全球宕机,OpenAI解释
8
谷歌指控微软与OpenAI涉嫌垄断,要求FTC终止独家云服务协议
热门
文章排行
1
打破日本垄断!30亿美元,又一国产半导体设备细分领域要崛起!
飙叔科技洞察
1954
2
突发!加州7级地震,对半导体产业有何影响?
皇华电子元器件IC供应商
1450
3
突发!高度重视芯片的韩国总统尹锡悦被逮捕!
集成电路IC
1375
4
美国加州7级地震,晶圆厂恐受影响
芯极速
452
5
震惊!裁员3万人!
集成电路IC
442
6
传苏州瑞萨裁撤MCU研发团队
谈思汽车
336
7
2024中国研究生创“芯”大赛·EDA精英挑战赛总决赛闭幕,北京大学夺得大赛最高奖-麒麟杯
芯思想
299
8
传上海某新势力将“原地解散”?!
谈思汽车
297
9
华为Mate70RS拆机:揭秘麒麟9020芯片真容,神秘数字再现!
EETOP
268
10
网友贪便宜买了一个WiFi信号增强器,拆开后看到里面的用料我惊呆了......
芯片之家
257
11
涉嫌违反反垄断法,英伟达被中国立案调查!
赛博汽车
256
12
突发!俄罗斯最大晶圆厂宣布破产!
集成电路IC
235
13
全力出击!华为手机“杀回”海外市场,鸿蒙全球扩张也来了!
飙叔科技洞察
226
14
雷军:SUV车型小米YU7正在进行大规模路测
52RD
205
15
退无可退!小米手机芯片终于要来了!其他国产手机厂商何去何从?
飙叔科技洞察
202
16
超8.3亿!安森美收购这家SiC公司
行家说汽车半导体
186
17
2024年第三季度,Canalys智能手机全方位榜单及预测:前10款机型、AI、高端手机、折叠屏、5G
Canalys
184
18
谷歌发布新量子芯片,创始人称已证明存在平行宇宙
阿尔法工场研究院
182
19
重大突破,华为芯片实现100%国产!
PCB资讯
179
20
倒闭1.46万家!2024年国产芯片公司破产原因及产业影响深度分析
芯八哥
174
21
独家定点!禾赛ATX激光雷达将搭载于长城汽车多品牌量产车型
MEMS
170
22
不交社保、员工自费上班
一览众车
163
23
华为新一代麒麟CPU真身曝光!惊现神秘数字2035,看完肃然起敬
快科技
162
24
突发!美国拨款210亿去除中国设备!
集成电路IC
160
25
【倒计时2天】2024移动机器人产业发展年会最全参会攻略来袭!
移动机器人产业联盟
160
26
拆解华为Mate70
美男子玩编程
156
27
分布反馈式激光器(DistributedFeedbackLasers,DFB)原理以及调频的方法
秦岭农民
154
28
iPhoneSE4真要来了:首发苹果自研5G基带
快科技
152
29
做好准备!曝海信大规模裁员3万人!
智芯Player
151
30
谷歌发布“Willow”量子计算芯片,马斯克和奥尔特曼双双惊叹不已!
国纳科技匠
151
广告
最新
评论
更多>>
是的,分析实在,还有云存储哦!两相结合,到底又有什么用?
自做自受
评论文章
2024-12-10
大数据,到底有什么用?
比亚迪 比亚迪
多吃蔬菜
评论文章
2024-12-10
比亚迪新能源61家核心供应商名单公开!【附150页深度报告】
资料
文库
帖子
博文
1
170中国新能源汽车品牌图谱
2
《工程控制论》(钱学森 著,戴汝为 等 译,科学出版社,1958年)
3
《星际航行概论》(钱学森 著,科学出版社,1963年)
4
激光加工
5
《普通高中教科书:数学》(人教A版)选择性必修 第1册 教师教学用书
6
ADS SI 仿真分析与设计
7
基本半导体_碳化硅功率器件_选型手册
8
数字通信第五版及习题答案
9
Arduino Nano 和 DHT11 实现 LabVIEW 温湿度采集
10
最新Magnetics美磁目录,磁粉芯、铁氧体选型指南
1
【E币奖励话题】你今年有年终奖吗?发多少?
2
【东软载波 ES32VF2264 开发板】05 基础功能测试——ADC
3
【富芮坤FR3068x-C】+上手及点灯
4
【富芮坤FR3068x-C】+开发环境搭建与体验
5
射频分析仪的技术原理和应用场景
6
全电流、阻性电流怎么监测?有没有电路原理图
7
这三个料的型号
8
IP5385专为快充移动电源设计的30W到100W大功率电源管理SOC芯片
1
服务器系统太复杂?!系统整合测试(SIT)助您轻松应对
2
「智能家庭关键场景测试」揪出智能电视关键Wi-Fi连线问题
3
RK3588主板/开发板Android12系统APK签名文件生成的方法,干货满满
4
12-11学习笔记
5
康谋方案 | 多源相机数据采集与算法集成测试方案
6
半导体划片机在铁氧体划切领域的应用
7
【工程师故事】2024年开发板测评与多项目探索总结
8
12-10学习笔记
1
二极管、三极管、MOS管和IGBT基础知识
2
搞硬件,不懂PTC热敏电阻?那怎么行?
3
为什么MOS管内会有体二极管,它是怎么来的?有什么作用?
4
stm32核心板供电电路
5
一次讲透Nginx核心架构设计和原理
6
上位机到底能不能替代PLC?
7
Linux系统内存buffers与cached的有什么区别?
8
简述汽车四大总线技术
9
新能源汽车动力匹配如何计算?
10
图腾柱PFC的电路结构和波形图
在线研讨会
ADAS系统中采用的MEMS时钟
PLL基础知识及其在时钟系统中的应用
PIC16F13145单片机可配置逻辑模块(CLB)概览
适用于安全连接的新一代PIC32CK SG/GC系列单片机
EE直播间
提升毫米波信号测试精度
直播时间:12月18日 14:00
EE Talk主题专访系列直播-对话:释放 Wi-Fi 7 在高带宽应用中的技术潜力
直播时间:12月19日 10:00
E聘热招职位
本网页已闲置超过10分钟,按键盘任意键或点击空白处,即可回到网页
X
最新资讯
蔡司成功收购Beyond Gravity光刻业务
意法半导体:让可持续世界从概念变为现实
如何制作双变频的航空波段接收机?
极越汽车引爆财务危机,CEO讨薪争议被员工围堵
Rapdidus宣布2025年4月实际生产2纳米芯片,挑战不小