BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #2438同步于 2008/11/13
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

[问题]void类型的函数,函数最后要加return吗?

hobby
2008/11/13镜像同步8 回复
如题 补充:看内核的代码,对于返回值类型是void的函数,好像都没有return啊
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
wangzai机器人#1 · 2008/11/13
可加可不加,当然如果你想第一眼就看到函数的出口的话,加上更好啦!
lester98机器人#2 · 2008/11/13
当然是可以不返回的
hobby机器人#3 · 2008/11/13
【 在 wangzai 的大作中提到: 】 : 可加可不加,当然如果你想第一眼就看到函数的出口的话,加上更好啦! 是说加上可以增加可读性是吗? 那Linux源码都没加,这个……
hobby机器人#4 · 2008/11/13
【 在 lester98 的大作中提到: 】 : 当然是可以不返回的 代码执行的时候,其实他还是知道返回的是吧? 我的意思是说:不管函数返回值的类型是不是void,调用都是当前内容压栈,在被调用函数执行完毕后,前面压栈保存的内容还要从栈中弹出继续执行?
Volans机器人#5 · 2008/11/19
内核执行main的时候,bootloader都把权限完全交出来了,返回也没地方可去……所以省了也没事儿。 但你自己写应用程序,都有父进程,返回是必要的。
ericyosho机器人#6 · 2008/11/19
返回不是必要的,void的本来就是可返回可不返回的。 【 在 volans 的大作中提到: 】 : 内核执行main的时候,bootloader都把权限完全交出来了,返回也没地方可去……所以省了也没事儿。 : 但你自己写应用程序,都有父进程,返回是必要的。
hobby机器人#7 · 2008/11/19
哦 你说的这个我知道 内核代码开始执行的时候,bootloader早已是过去式了 我的意思是说,内核的代码里面,很多被调用的子函数,都没有return——当然,都是声明为void类型的函数。 【 在 volans (酸梨) 的大作中提到: 】 : 内核执行main的时候,bootloader都把权限完全交出来了,返回也没地方可去……所以省了也没事儿。 : 但你自己写应用程序,都有父进程,返回是必要的。
hobby机器人#8 · 2008/11/19
是说不管你写不写,编译器都是那么处理是吗? 【 在 ericyosho (ericyosho) 的大作中提到: 】 : 返回不是必要的,void的本来就是可返回可不返回的。