"std::sin"呼叫上的应用崩溃

APPCRASH on "std::sin" calls

本文关键字:崩溃 应用 呼叫 std sin      更新时间:2023-10-16

我的开发计算机(英特尔i5、Windows 7 Pro SP1 64位、Visual Studio 2013社区)。简单的应用程序按预期工作

#include "stdafx.h"
#include <cmath>
#include <iostream>
int _tmain(int argc, _TCHAR* argv[])
{
    std::cout << "sin: ";
    std::cout << std::sin(15.0) << std::endl;
    return 0;
}

然后,我将二进制文件(无论发布还是调试)复制到HyperV(6.3.9600.16384)虚拟机(Windows 2008 SP2 64位,安装了VC2013 redist),并在"std::sin"调用:上获得APPCRASH

Problem signature:
  Problem Event Name:   APPCRASH
  Application Name: ConsoleApplication4.exe
  Application Version:  0.0.0.0
  Application Timestamp:    565d75d4
  Fault Module Name:    MSVCR120.dll
  Fault Module Version: 12.0.21005.1
  Fault Module Timestamp:   524f83ff
  Exception Code:   c000001d
  Exception Offset: 0000000000098b00
  OS Version:   6.0.6002.2.2.0.16.7
  Locale ID:    1049
  Additional Information 1: 64e8
  Additional Information 2: 160c2ca84e5ab528fe0edddf791bfff4
  Additional Information 3: 3a8a
  Additional Information 4: 8257d6859d8df6782771e833d7d51d3a

我该怎么修?

这解决了问题

#if defined (_WIN64)
   _set_FMA3_enable (0);
#endif

另请参阅https://connect.microsoft.com/VisualStudio/feedback/details/811093/visual-studio-2013-rtm-c-x64-code-generation-bug-for-avx2-instructions