嵌入式学习网_振兴网【官网】
请选择 进入手机版 | 继续访问电脑版

嵌入式学习网_振兴网【官网】

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 792|回复: 2

[资料分享] stm32编译前为什么要配置keil中C/C++中的define 和include Paths?

[复制链接]

该用户从未签到

6

主题

12

帖子

277

积分

中级会员

Rank: 3Rank: 3

积分
277
扫一扫,手机访问本帖
发表于 2016-10-27 09:41:54 | 显示全部楼层 |阅读模式
stm32编译前为什么要配置keil中C/C++中的define 和include Paths?觉得有用,就转过来看看。
来源:http://www.myexception.cn/cpp/1990378.html

这是Keil与编译器的一个相互通信的过程,准确的来说,是编译器读取Keil的配置
ARM系列的有一些公司的库编译器,是与Keil的一些配置通信的.
比如你说的那个 Define,include path
一般来说,我们用Keil做51或者STR710等等一些单片机的程序时候,不需要配置刚才的两个选项,为什么?
因为C51和ARM7的编译器不去读取上述的配置.
而Cortex-M3编译器,则读取上述的配置,并转换成自己的内编译器配置
比如:你在Define里面写:THIS_MY_DEF
那么,编译器在编译的时候,文件里会隐性的定义出这么一句:
#define THIS_MY_DEF
通常,我们写Define里,都写USE_STDPERIPH_DRIVER,STM32F10X_HD这两个
然后,编译的时候,文件里会隐性定义
#define USE_STDPERIPH_DRIVER
#define STM32F10X_HD
而这两个宏,决定了STM32的库函数的一些配置.
如果你把那个Define文本框空闲出来,那么,编译器找不到任何配置信息,自然就出错.
如果你一定要把Define文本框空闲,那么,你就要在Stm32F10x.h等多个文件里手工添加
#define USE_STDPERIPH_DRIVER
#define STM32F10X_HD
过程比较繁琐,如果一旦换了芯片,整个的工程就有多处要修改, 工作量太大,且容易出错,就不如在配置的时候操作一次那么简便




单片机

 

                                                   关注微信公众号:玩转嵌入式 ,获取更多内容

回复

使用道具 举报

该用户从未签到

0

主题

83

帖子

185

积分

注册会员

Rank: 2

积分
185
发表于 2017-9-26 22:07:45 | 显示全部楼层
就看看,不说话。













淘客机器人、淘客返利机器人、淘宝客机器人 联系客服QQ:4000017854
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

83

帖子

185

积分

注册会员

Rank: 2

积分
185
发表于 2017-9-27 23:39:56 | 显示全部楼层
好东东,谢谢楼主













第五代QQ机器人QQ群机器人论坛QQ机器人智能客服机器人QQplus机器人QQ群互联机器人..联系QQ4000017854
回复 支持 反对

使用道具 举报

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

本版积分规则

发布主题 快速回复 返回列表 联系我们 官方QQ群
快速回复 返回顶部 返回列表