VxWorks提供了一个只接受两个参数的strerror_r版本。STATUS strerror_r int errcode, /* error number */)
cURL提到了vxworks风格的strerror_r()确实使用了我们传递给函数的缓冲区。缓冲区大小应至少为rtsold.h中定义的MAXERRSTR_SIZE (150)。
我为线程安全的strerror_r提供了一个c++包装器,代码如下:std::ostream& operator<<(std::stream& os, constMyErrno& err) const int len = 128 os << strerror_r(errno, buf, len);使用128似乎也是可以的,因为手册页说strerror_r将返回一个指向不可变的静态字符串的指针(假