完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
RT-Thread的error code定义有0~10,一共11种,为什么rt_pin_get异常时返回值是-RT_ENOSYS而不是RT_ENOSYS,这个-是为什么? /* RT-Thread error code definitions */ |
|
相关推荐
2个回答
|
|
这里是有原因的,借鉴了Linux内核的设计思路,Linux内核中的函数通常以返回指针的形式来传递调用函数后执行的结果,返回值指针有三种结果:
(1)调用成功则返回一个有效指针(>0) (2)调用失败返回NULL(就是0),例如malloc、kmalloc、vmalloc (3)调用失败返回错误信息指针(无效指针) 因为0和正整数都是有用的,我们就是通过这个错误指针(负数)来传递有关错误的信息,所以就出现了-RT_ENOSYS这种情况。 |
|
|
|
这个是一种约定吧,错误码是正值,返回错误码时加上负号变成负值。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
806 浏览 0 评论
5158 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2666 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
3008 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
32178 浏览 11 评论
73214 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 07:56 , Processed in 0.738599 second(s), Total 71, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号