OpenEdv-开源电子网

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

关于函数类型的问题

[复制链接]

51

主题

108

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
357
金钱
357
注册时间
2014-6-16
在线时间
12 小时
发表于 2015-12-26 16:33:11 | 显示全部楼层 |阅读模式
我想请教下如下两个函数在效率等方面有何区别?
void funtion()和int funtion除了返回类型的区别外,还有何区别?比如。。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
254
金钱
254
注册时间
2015-8-25
在线时间
27 小时
发表于 2015-12-26 16:50:19 | 显示全部楼层
你这样写,第一个是**函数,第二个是定义变量了
回复 支持 反对

使用道具 举报

5

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
254
金钱
254
注册时间
2015-8-25
在线时间
27 小时
发表于 2015-12-26 16:50:53 | 显示全部楼层
第一个是 声 明 函数,第二个是定义变量
回复 支持 反对

使用道具 举报

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1865
金钱
1865
注册时间
2011-3-29
在线时间
140 小时
发表于 2015-12-26 17:45:11 | 显示全部楼层
int funtion漏写括号了把?
理论上int funtion()要搬运返回值入栈或是放入特定的寄存器(比如arm的R0)内,时钟周期会长一点。
不过这个影响真的很轻微啦,其它因素影响更大。
业余程序玩家。
回复 支持 反对

使用道具 举报

13

主题

91

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
235
金钱
235
注册时间
2012-11-17
在线时间
18 小时
发表于 2015-12-26 17:48:08 | 显示全部楼层
void function()和 int function()的区别:

(1)前一个无返回值,后一个有返回值

(2)有些编译器建议:如果没使用到返回值,请尽量使用void对函数进行声 明,原因之一是如果函数有返回值,代码就会多执行那么几句汇编代码来传递返回值,降低了一点点执行速度。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-21 16:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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