OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3620|回复: 4

一段在头文件中经常能看到,但是不是很理解的宏定义

[复制链接]

29

主题

81

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
222
金钱
222
注册时间
2015-6-10
在线时间
1 小时
发表于 2015-6-26 15:32:02 | 显示全部楼层 |阅读模式
5金钱
下面的程序,头文件中经常能看到,但是不是很理解,有人能帮忙解析一下不?
#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL) 
#define STM32F10X_HD
#endif

最佳答案

查看完整内容[请看2#楼]

defined(): 檢查某的巨集定義是否被定義了 有回傳1沒有回傳0 就看成 uint8 x=0;bool IsNotdefined; if(!x) {    IsNotdefined=true; }else {    IsNotdefined=false; } 當 x=0 是 IsNotdefined=true 返回來講就是這巨集沒被定義 會執行 if 裡面的內容
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

239

帖子

0

精华

高级会员

Rank: 4

积分
545
金钱
545
注册时间
2015-6-5
在线时间
110 小时
发表于 2015-6-26 15:32:03 | 显示全部楼层
defined(): 檢查某的巨集定義是否被定義了
有回傳1沒有回傳0

就看成
uint8 x=0;bool IsNotdefined;
if(!x)
{
   IsNotdefined=true;
}else
{
   IsNotdefined=false;
}

當 x=0 是 IsNotdefined=true
返回來講就是這巨集沒被定義 會執行 if 裡面的內容
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5781
金钱
5781
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-6-26 15:32:03 | 显示全部楼层
如果上面的STM32F10X_LD、STM32F10X_LD_VL等都没有定义(声明)
则定义(声明)STM32F10X_HD
回复

使用道具 举报

230

主题

1950

帖子

10

精华

论坛元老

Rank: 8Rank: 8

积分
4562
金钱
4562
注册时间
2010-12-14
在线时间
32 小时
发表于 2015-6-27 11:25:59 | 显示全部楼层
好好学习c语言吧,这个在c语言里面应该算是很简单的了
我是开源电子网?网站管理员,对网站有任何问题,请与我联系!QQ:389063473Email:389063473@qq.com
回复

使用道具 举报

29

主题

81

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
222
金钱
222
注册时间
2015-6-10
在线时间
1 小时
 楼主| 发表于 2015-6-29 09:00:58 | 显示全部楼层
回复【3楼】lycreturn:
---------------------------------
STM32F10X_LD、STM32F10X_LD_VL、STM32F10X_HD就是STM32F10X.LD、STM32F10X_LD.VL、STM32F10X.HD文件吗?都是什么文件来的?目前所接触的C语言,里面的.c源文件和.h头文件,没见到过STM32F10X_LD、STM32F10X_LD_VL、STM32F10X_HD这些文件,这些文件都是干什么用的?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 19:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表