OpenEdv-开源电子网

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

#include放在C文件里的不同位置产生的奇怪现象

[复制链接]

2

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2016-8-26
在线时间
13 小时
发表于 2018-1-19 20:48:20 | 显示全部楼层 |阅读模式
以前一直认为#include语句都应该放在C文件开头的,今天偶然看到一种把#include放在文件中间的写法:

include语句放在文件中间

include语句放在文件中间

如图,#include被放在文件中部
[mw_shl_code=c,true]#include "core_cm0.h"
#include <stdint.h>[/mw_shl_code]

当然这不是最奇怪的,放在文件中间也不是不可以。
奇怪的是,当我把它剪切到文件头部以后,编译就过不了了····
提示没有定义上边的那个中断枚举
TIM截图20180119204426.png

再放到原位置就又好使了。
多次实验后发现,这两句话的位置不能提前也不能靠后,只有放在原来的位置上才能编译通过!!
有没有见过这种情况的兄弟们?可以给我讲一讲这个问题的玄机在哪里??

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-11-2
在线时间
4 小时
发表于 2018-1-19 21:39:15 | 显示全部楼层
你#include“***.h”的目的是告诉编译器你要在当前C文件中使用 ***.h 中的某一个或某几个内容,所以要在这个内容之前使用#include“***.h”声明一下。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-9 08:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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