我在 VxWorks PPC 上运行我的代码,如果系统调用失败,特别是套接字发送/接收函数,errno 总是返回 0。
经过一些分析,我发现,如果所有系统调用失败,errno都会返回0。
是否需要进行任何初始化才能使 errno 返回正确的值?
最佳答案
在 shell(内核或主机)中,如果键入“i”命令,您将获得任务列表。其中字段之一是 errno 值。找到有错误的任务并设置 errno 值。
检查 errno 时,您必须处于导致错误的同一任务中:
if(ERROR = someSystemFunction())
printf("errno=%x", errno);
你不能在 shell 中期望打印 errno
-> errno (<---- will NEVER work)
errno:0x123455 value: 0 = 0x0
关于c - VxWorks PPC 中 errno 始终返回零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2524467/