【发布时间】:2013-01-22 11:03:26
【问题描述】:
我在网上找到的 C 和 POSIX 参考资料没有指定 C99 的 fesetround() 的线程安全性。甚至 GNU 文档也没有[1]。状态是每个线程还是每个进程?
[1]https://www.gnu.org/software/hello/manual/libc.html#Rounding
【问题讨论】:
标签: c floating-point thread-safety c99 c11
我在网上找到的 C 和 POSIX 参考资料没有指定 C99 的 fesetround() 的线程安全性。甚至 GNU 文档也没有[1]。状态是每个线程还是每个进程?
[1]https://www.gnu.org/software/hello/manual/libc.html#Rounding
【问题讨论】:
标签: c floating-point thread-safety c99 c11
定义线程和 fesetround() 的 C11 回答它是每个线程的。 (这是唯一合理的答案,但必须说明。)
草案 N1570 [1] 第 7.6.2 节:“浮点环境具有线程存储持续时间。线程的浮点环境的初始状态是创建它的线程的浮点环境的当前状态在创建时。”
[1]http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf
【讨论】: