왜 GCC는 C보다 C++에 대해 isnan()을 더 효율적으로 구현합니까? 내 코드는 다음과 같습니다. int f(double x) { return isnan(x); } 내가 만약에#include 나는 이 어셈블리를 받습니다. xorl %eax, %eax ucomisd %xmm0, %xmm0 setp %al 이것은 상당히 영리합니다. ucomisd는 x와 자체의 비교가 순서가 없는 경우 패리티 플래그를 설정합니다. 즉, x는 NAN입니다.그런 다음 setp는 패리티 플래그를 결과로 복사합니다(단일 바이트만, 따라서 초기 지우기).%eax). 하지만 내가#include 나는 이 어셈블리를 받습니다. jmp __isnan 이제 코드는 인라인이 아니며,__isnan기능은 확실히 더 빠르지 않습니다.ucomi..