野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14413|回复: 5

stm32单片机程序---extern的使用

[复制链接]
发表于 2015-3-16 09:59:21 | 显示全部楼层 |阅读模式
小弟最近在玩stm32的流水灯程序(使用的是野火的例程程序)
问题描述:1:在bsp_led.c文件中定义了一个void LED_GPIO_Config(void)函数,在bsp_led.h中包含了对这个文件的声明void LED_GPIO_Config(void);
                 2:在main.c中调用了这个函数void LED_GPIO_Config(void)。
小弟的问题:因为函数是在bsp_led.c文件中定义的,那如果在main.c中使用这个函数,不是应该在bsp_led.h中使用extern void LED_GPIO_Config(void)才对吗?为什么可以不使用exern关键字?
按照小弟的理解:如果在a.c文件中定义的函数,在b.c文件中红使用,不是都要使用extern XXXX 才能调用的吗?请大神指点!

回复

使用道具 举报

发表于 2015-3-16 10:06:07 | 显示全部楼层
main包含了.h文件,在.h文件里有函数的声明就可以了,不需要extern
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-16 10:30:01 | 显示全部楼层
那请问大神:那在什么情况下需要使用extern???能举个例子吗?
小弟对这个很是迷惑,恳请大神赐教!
回复 支持 反对

使用道具 举报

发表于 2015-3-16 11:22:12 | 显示全部楼层
liuchang 发表于 2015-3-16 10:30
那请问大神:那在什么情况下需要使用extern???能举个例子吗?
小弟对这个很是迷惑,恳请大神赐教!

使用其它文件里声明的变量,包括函数的返回值 要加exrern
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-16 12:26:08 | 显示全部楼层
小弟还是不明白,为什么我举的这个例子可以不使用extern.求拍醒~~~
回复 支持 反对

使用道具 举报

发表于 2015-3-16 12:36:03 | 显示全部楼层
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-12-30 01:53 , Processed in 0.028422 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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