IDA对浮点运算库函数没有做特别的处理。如果你Dasm类似:

int foo()
{
.......
    sqrt(X);
    sin(X);
    cos(X);
.......
}
你会发现foo无情的被sqrt sin cos分成几段。在这几个函数后面出现了分割线。

因为这些函数。在遇到异常的时候直接jmp exit了。所以IDA把这些函数归为does not return类型。因为是递归分析。这些函数所以后面代码没有和当前的函数建立关系。

解决办法就是把上述函数的does not return类型去掉。