gpt4 book ai didi

gcc - isnan的源代码在哪里?

转载 作者:行者123 更新时间:2023-12-04 21:06:53 26 4
gpt4 key购买 nike

由于标准的层次,c++ 的包含文件是一个老鼠窝。我试图找出 __isnan 实际调用的内容,但找不到任何具有实际定义的地方。

所以我只是用 -S 编译来查看程序集,如果我写:

#include <ieee754.h>

void f(double x) {
if (__isinf(x) ...

if (__isnan(x)) ...
}

这两个例程都会被调用。我希望看到实际的定义,并可能将这样的东西重构为内联的,因为它应该只是一个比较,尽管当值在浮点寄存器中时很难实现。

无论如何,不​​管这是不是一个好主意,问题是:__isnan(x) 的源代码在哪里?

最佳答案

Glibc 的代码版本在 sysdeps 中它支持的每个系统的文件夹。您要找的人在 sysdeps/ieee754/dbl-64/s_isnan.c .我用 git grep __isnan 找到了这个。

(虽然 C++ 头文件包含模板代码,但 C 库中的函数不会,您必须查看 glibc 或其他任何内容。)

关于gcc - isnan的源代码在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4185675/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com