打印
[开发工具]

IAR下的Require prototypes复选框有什么蹊跷吗?

[复制链接]
4305|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yewuyi|  楼主 | 2008-11-11 14:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
编译的时候选择和不选择的结果完全不一样,不选择的时候编译通过,选择的时候则提示
Error[Pa045]:function "SysInit" has no prototype F:programstudyST_CM3_DEMOprojects esourcesysinit.c 6 

但函数vodi SysInit(void)已经在引用前申明过了啊,为什么还提示原型找不到?
去掉这个后就可以编译通过,以前用IAR FOR MSP430/NEC/AVR的时候都没选择这个,也没发现有什么错误,今天突然冲动选择了一下后发现有问题,没想明白原因,发一个测试代码文件包,谁帮忙解释一下这个问题?

沙发
yewuyi|  楼主 | 2008-11-11 14:27 | 只看该作者

图片

使用特权

评论回复
板凳
computer00| | 2008-11-11 14:30 | 只看该作者

勾上需要声明一下啊……

void fun(void); //声明
void fun(void)  //定义
{
}

使用特权

评论回复
地板
yewuyi|  楼主 | 2008-11-11 14:33 | 只看该作者

好晕哦,为什么有这样的规定呢?

这也是标准C的内容吗?

好象很久前才见过人这么写哦。。。

使用特权

评论回复
5
computer00| | 2008-11-11 14:35 | 只看该作者

避免出错而已,大可不用理会它……

使用特权

评论回复
6
yewuyi|  楼主 | 2008-11-11 14:37 | 只看该作者

TKS

估计是帮助养成良好书写习惯的作用把,呵呵。。。

使用特权

评论回复
7
bear1| | 2019-8-13 10:53 | 只看该作者
computer00 发表于 2008-11-11 14:30
void fun(void); //声明void fun(void)  //定义{}

这个有点 脱裤子放屁——多此一举 啊

使用特权

评论回复
8
computer00| | 2019-8-13 23:34 | 只看该作者
bear1 发表于 2019-8-13 10:53
这个有点 脱裤子放屁——多此一举 啊

不一定,脱掉裤子放屁放得更舒畅一些,无后顾之忧~~~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1416

主题

20007

帖子

232

粉丝