完善资料让更多小伙伴认识你,还能领取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这种情况。 |
|
|
|
这个是一种约定吧,错误码是正值,返回错误码时加上负号变成负值。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1035 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
3400 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1462 浏览 0 评论
2140 浏览 0 评论
1637 浏览 0 评论
75303 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 05:21 , Processed in 0.641090 second(s), Total 71, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号