IAR STM8,指定了Device之后,为何还需要Include头文件呢?

2019-12-15 12:13发布

本帖最后由 xinbadazz 于 2018-11-7 22:21 编辑

如题,
一直没有搞懂,为何我明明已经在属性里面指定了MCU的具体类型,
可是为什么还需要在源文件或者头文件里面Include单片机对应的头文件呢?

比如,我已经在IAR STM的General Options指定了MCU是STM8L151K6
Picture1.png (4.63 KB, 下载次数: 0) 下载附件 2018-11-7 22:18 上传

按照IDE应该可以根据设定自动包含的吧?
请高手指教一下。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
elecfun
1楼-- · 2019-12-15 16:24
没有任何一款IDE支持自动包含头文件,宇宙无敌的VS也不行
你搞清楚头文件的功能、编译的大概过程就理解了
xinbadazz
2楼-- · 2019-12-15 17:47
elecfun 发表于 2018-11-7 23:24
没有任何一款IDE支持自动包含头文件,宇宙无敌的VS也不行
你搞清楚头文件的功能、编译的大概过程就理解了 ...

可否能想IAR AVR那样,只需要
#include <ioavr.h>              
#include <inavr.h>
然后,系统会根据配置的AVR类型,来自动选择。

desertsailor
3楼-- · 2019-12-15 20:01
KEIL也是这样的,编译器指定MCU只是告诉编译器MCU的内核和存储空间及存储地址,当然理论上编译器直接包含头文件也未尝不可,只是这一步由用户自己来包含的话灵活性更大,比如头文件作了相应的升级改变。
laujc
4楼-- · 2019-12-15 20:46
xinbadazz 发表于 2018-11-8 00:10
可否能想IAR AVR那样,只需要
#include               
#include

这样做反而更不灵活。通用的编译器根本不可能知道会有多少个型号。包含头文件是最方便的。

总不能厂家增加一个型号,编译器就为了增加新型号重新改一次吧。

一周热门 更多>