这个问题已经有一个答案在这里:

如果你正在写一个多线程的应用程序使用的系统/图书馆的电话,使用errno表明的错误类型、是否有一个安全的方式使用errno?如果没有,是否有一些其他的方式来表示这种类型的错误发生,而不是只发生了错误?

有帮助吗?

解决方案

如果你的标准图书馆是多线程认识到,那么它可能有一个 #define 这一变化 errno 成功能的电话,返回一个线程-地方错误返回的价值。然而,使用这个您一般 必须 包括 <errno.h>, ,而不是依赖于一个 extern 《宣言》。

我发现了一篇文章 线的安全和POSIX.1 解决这个非常问题。

其他提示

man errno 说:

errno定义的ISO C的标准 是的可修改左值的类型 int,必须不明确 声明;errno可能是一个宏。errno 是线地;设置在一个 线不会影响它的价值 在任何其他线。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top