我对这篇帖子https://stackoverflow.com/a/57674631/2492801感到兴奋,我考虑使用-fno-math-errno
。但是我想确保自己不会损害正在使用的软件的行为。
因此,我检查了(相当大的)代码库,以查看在errno
中使用了什么,并且我想确定这些用法是否会干扰-fno-math-errno
。但是该怎么做呢?该文档说:
-fno-math-errno
在调用用单条指令执行的数学函数(例如sqrt ...)后,请勿设置errno。
但是我怎么知道用单个指令执行哪些数学函数?这在某处有记录吗?在哪里?
我使用的代码库似乎依赖于errno
,尤其是在调用strtol
以及使用流时。我猜想strtol
不是用一条指令执行的。它是否完全被视为数学函数?我怎么能确定?