OpenEdv-开源电子网

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

【请问为什么stm32的.c文件里面的函数,在.h里面不需要加extern void function()】

[复制链接]

42

主题

141

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
342
金钱
342
注册时间
2015-5-26
在线时间
49 小时
发表于 2015-11-25 15:57:25 | 显示全部楼层 |阅读模式
5金钱
提个问,大家请不要笑我。我发现在ccs里面.c文件里面写的函数,比如function(),在其.h文件的最后需要加extern void function();否则编译的时候会报错。然而在stm32里面,.c文件当中的函数,对应的.h文件里没有加类似的extern void function();,只是在最后void function();了一下。请问这个是什么原因啊?一下是gpio.h里面的结尾,没有加上extern void function();这样的外部声明。可是DSP就不行,会报错。理解不了望版主跟各位朋友帮助一下

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

使用道具 举报

27

主题

711

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
12491
金钱
12491
注册时间
2015-11-5
在线时间
2142 小时
发表于 2015-11-25 16:19:21 | 显示全部楼层
有些编译环境要求比较严格,需要加上extern才能编译通过,但我们平时用的MDK就没强制要求,不过我还是习惯加上extern来表示提供给其他文件调用
拿来长岛冰茶换我半晚安睡
回复

使用道具 举报

9

主题

538

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3371
金钱
3371
注册时间
2015-1-7
在线时间
794 小时
发表于 2015-11-25 17:15:31 | 显示全部楼层
可以看看你的IDE中有没有strict c之类的选项,一般IDE要求的会松一点
机器生汇编,汇编生B,B生C,C生万物.... 经过长期对C语言的研究,目前只有两个方面不懂:这也不懂,那也不懂
https://github.com/ianhom
回复

使用道具 举报

9

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
372
金钱
372
注册时间
2016-8-15
在线时间
55 小时
发表于 2016-9-4 11:51:33 | 显示全部楼层
赞3楼签名
祝中国健儿奥运好成绩
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-26 00:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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