OpenEdv-开源电子网

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

KEIL函数编译出现的“错误”和“警告”内容冲突

[复制链接]

22

主题

63

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
278
金钱
278
注册时间
2013-10-26
在线时间
18 小时
发表于 2014-1-3 11:23:11 | 显示全部楼层 |阅读模式
错误:
..\Bsp\bsp.h(9): error:  #114: function "Systick_init" was referenced but not defined
警告:
..\Bsp\delay\delay.c(5): warning:  #177-D: function "Systick_init" was declared but never referenced

错误说我引用但没定义,但警告说我定义却没引用,都是说同一条函数啊,坑爹,keil都知道我定义了,还说我错

什么问题啊?

重启电脑也没解决,望各位指教!
Love life, love the electrons!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

1444

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2239
金钱
2239
注册时间
2010-12-16
在线时间
199 小时
发表于 2014-1-3 13:03:57 | 显示全部楼层
回复【6楼】口天土立口:
---------------------------------
static声明是作用域外不可以引用的.外部引用找不到了会error.
作用域内没有被引用,会warning.


回复【7楼】敌害:
---------------------------------
读出来正确就说明不是编译器问题,这个问题有两种可能,一个是栈变量前面有长度不确定的变量,一个是生成的axf有问题,但这不是编译器的事,可能是链接器的问题,可能是仿真工具有问题.
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复 支持 1 反对 1

使用道具 举报

172

主题

539

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3449
金钱
3449
注册时间
2015-10-5
在线时间
492 小时
发表于 2017-2-7 16:14:26 | 显示全部楼层
口天土立口 发表于 2014-1-3 11:48
回复【4楼】shihantu:
---------------------------------
为什么是去掉static就没报错?这个搞不懂!

在C语言里面,没有重载一说,如果两个地方出现同名函数,会冲突,一个开发团队的人,可以搞一个项目时,会遇到这样,为了防止别人和自己都用同一个名称,所以用static将自己写的函数名限制在自己的那个文档里面
认真做好笔记....
回复 支持 1 反对 0

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2014-1-3 11:26:17 | 显示全部楼层
在bsp.h里面的Systick_init前加多一个extern关键字看看吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

22

主题

63

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
278
金钱
278
注册时间
2013-10-26
在线时间
18 小时
 楼主| 发表于 2014-1-3 11:37:13 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
不行,还是错误!我怀疑是KEIL软件不稳定导致的!
Love life, love the electrons!
回复 支持 反对

使用道具 举报

2

主题

1444

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2239
金钱
2239
注册时间
2010-12-16
在线时间
199 小时
发表于 2014-1-3 11:39:38 | 显示全部楼层
如果实体使用了static关键字,就可以实现这个报错.
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复 支持 反对

使用道具 举报

22

主题

63

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
278
金钱
278
注册时间
2013-10-26
在线时间
18 小时
 楼主| 发表于 2014-1-3 11:44:07 | 显示全部楼层
回复【4楼】shihantu:
---------------------------------
听你说的,我把static去掉就没报错了!谢谢!
Love life, love the electrons!
回复 支持 反对

使用道具 举报

22

主题

63

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
278
金钱
278
注册时间
2013-10-26
在线时间
18 小时
 楼主| 发表于 2014-1-3 11:48:40 | 显示全部楼层
回复【4楼】shihantu:
---------------------------------
为什么是去掉static就没报错?这个搞不懂!
Love life, love the electrons!
回复 支持 反对

使用道具 举报

76

主题

355

帖子

0

精华

高级会员

Rank: 4

积分
671
金钱
671
注册时间
2012-9-19
在线时间
5 小时
发表于 2014-1-3 12:12:46 | 显示全部楼层
编译器一半不会错。但是偶尔我还真遇到过这傻货编译器反馈回的错误信息。比如上次。我往BUF【0】里放了个0xF0;单步调试看到显示框显示的是我的0XF0放到了BUF[1];可我明明放的是BUF0的位置。于是我又写了一条读取BUF0和BUF1。结果你猜怎么着。。BUF0里就是读出来是0XF0;BUF1里什么也没有。是0x00;所以说。编译器有问题也是正常的。。
具有资深STM32点灯技术,
回复 支持 反对

使用道具 举报

172

主题

539

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3449
金钱
3449
注册时间
2015-10-5
在线时间
492 小时
发表于 2017-2-7 16:14:06 | 显示全部楼层
口天土立口 发表于 2014-1-3 11:48
回复【4楼】shihantu:
---------------------------------
为什么是去掉static就没报错?这个搞不懂!

为了防止同名函数,这样声明后,本函数名作用域,只限于本文档
认真做好笔记....
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2017-6-17
在线时间
16 小时
发表于 2020-1-7 10:28:38 | 显示全部楼层
的确删除后不报故障,但问题来了,static作用之一用于只生效与本文件下,该函数其他地方并未运用,为什么去掉就不报error,IDE:CS+ 。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-20 09:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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