2
我在網上找到的C和POSIX引用沒有指定C99的fesetround()的線程安全性。即使GNU文檔也沒有[1]。狀態是每個線程還是每個進程?C99 fesetround()/ fegetround()狀態是每個線程還是每個進程?
[1] https://www.gnu.org/software/hello/manual/libc.html#Rounding
我在網上找到的C和POSIX引用沒有指定C99的fesetround()的線程安全性。即使GNU文檔也沒有[1]。狀態是每個線程還是每個進程?C99 fesetround()/ fegetround()狀態是每個線程還是每個進程?
[1] https://www.gnu.org/software/hello/manual/libc.html#Rounding
C11,它定義兩個線程和fesetround(),答案,它的每個線程。 (這是唯一合理的答案,但必須說明)。
草案N1570 [1]第7.6.2節:「浮點環境具有線程存儲持續時間。線程浮點的初始狀態環境是在創建時創建它的線程的浮點環境的當前狀態。「
[1] http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf
Right; C99沒有「線程」或「線程存儲持續時間」的概念,所以它不能表達這一點,但它始終是狀態爲每線程的意圖。 –