Math 发行版中对uu libm_sse2_sincos_u的依赖性

Math 发行版中对uu libm_sse2_sincos_u的依赖性,math,visual-c++,visual-studio-2017,linker,Math,Visual C++,Visual Studio 2017,Linker,我正在用msvc 2017编译一个静态库,它依赖于math.h 在调试模式下,我可以使用这个库来构建一个可执行文件。在释放模式下,连续使用cos和sin的函数上会显示对的依赖关系 下面是函数 Complex<double> polar(const double magnitude, const double radian) { const double re = magnitude * cos(radian); const double im = magnitude

我正在用msvc 2017编译一个静态库,它依赖于
math.h

在调试模式下,我可以使用这个库来构建一个可执行文件。在释放模式下,连续使用
cos
sin
的函数上会显示对
的依赖关系

下面是函数

Complex<double> polar(const double magnitude, const double radian) {
    const double re = magnitude * cos(radian);
    const double im = magnitude * sin(radian);
    return Complex<double>(re, im);
}
复数极坐标(常数双倍幅值,常数双倍弧度){
const double re=幅值*cos(弧度);
const double im=幅值*sin(弧度);
返回复合体(re,im);
}
代码是用
/arch:AVX2
/fp:fast
/MT
编译的

这个符号来自哪里?通过快速的谷歌搜索,它似乎与英特尔有某种关联,但我的机器上没有安装英特尔编译器或任何相关的东西

有没有办法追踪这个符号来自哪里?还是一种避免依赖它的方法


谢谢。

符号
来自MSVC CRT。您的代码计算相同值的
sin
cos
,因此编译器将两个调用优化为一个(
sincos
),SSE2版本。链接到CRT后,由于
/MT
,所有CRT函数(包括该函数)都将嵌入到可执行文件中

如果您使用不同的参数调用了
sin
cos
,您将得到两个单独的调用
\uuuuuu libm\usse2\usin
\uuuuuu libm\usse2\ucos
()

如果链接函数时出现问题,则可能是发布项目设置已损坏


注意:以
开头的函数是为实现保留的,无需记录。此外,MSVC CRT不是开源的(部分是开源的,但不是数学部分)。

无法复制。与VStudio社区2017(v15.9.15)配合正常。我不得不把代码简化一点,因为编译器不知道复杂的东西。你在使用第三方LIB吗__libm_sse2_sincos:它是计算相同数字的正弦和余弦。我建议您可以参考。请向我们提供更多详细信息以重现该问题。@CristiFati我能够重现对
\u libm\u sse2\u sincos
的调用,但正如我所说,当我使用此代码链接静态库时,我认为我无法在线重现。