FIX: 프로그램 Visual C++ 2013 충돌 "잘못 된 명령" 예외와 함께 제공 된

이 문서는 Microsoft 기계 번역 소프트웨어를 이용하여 번역되었으며 Microsoft Community에 의한 Community Translation Framework(CTF) 기술 혹은 사람이 번역한 내용에 의하여 사후 편집될 수 있습니다. Microsoft는 Knowledge Base에 있는 모든 문서에 다양한 언어로 접근할 수 있도록 하기 위하여 기계 번역, 사람에 의한 번역 및 커뮤니티가 편집한 내용을 모두 제공합니다. 번역된 문서는 어휘, 구문 및/혹은 문법에 오류가 있을 수 있습니다. Microsoft는 번역 오류로 인한 부정확성, 오류 및/또는 손해와 이를 고객이 사용하는 데에 대하여 책임을 지지 않습니다.

이 문서의 영문 버전 보기:3174417
현상
Microsoft Visual C++ 2013을 사용 하 여 프로그램을 작성할 때 프로그램이 충돌 하 고 "잘못 된 명령" 예외가 발생 합니다. 일부 부동 소수점 수학 라이브러리 함수 Visual C++ 2013 x64 C 런타임 (CRT) 함수를 사용 하려고 하기 전에 특정 AVX 및 FMA3 지시를 사용할 수 있는지 제대로 확인 하지 않습니다 때문에 발생 합니다. 지침을 사용할 수 없는 경우 이러한 함수를 호출 하면 예외 잘못 된 명령 (0xc000001d). 영향을 받는 함수는 로그, log10와 pow를이 있습니다.

이 문제는 다음 시나리오에서 발생할 가능성이 가장 높습니다.
  • AVX를 지원 하지 않는 Windows 운영 체제의 이전 버전에서 상태 저장 (예: Windows Vista)는 AVX 명령 집합을 지 원하는 컴퓨터에서 사용 되는 경우
  • AVX 상태 저장 운영 체제 부팅 구성에서 명시적으로 사용 하지 않으면
  • Windows 사전 설치 환경 (Windows PE)에서

    참고 Windows PE는 AVX 상태 저장을 지원 하지 않습니다.

Microsoft Connect에서이 문제가 보고 되었습니다.

원인
Visual C++ 2013 x64 C 런타임 운영 체제는 AVX AVX 또는 FMA3 명령을 실행 하기 전에 상태 저장을 지원 하는지 여부를 확인 하지 않습니다 때문에이 문제가 발생 합니다.
해결 방법
C 런타임 DLL (msvcr120.dll)을 사용 하는 모든 영향을 받는 c + + Visual C++ 2013을 사용 하 여 빌드된 바이너리 업데이트 Microsoft Visual C++ 2013 재배포 가능 패키지-12.0.40660.0 또는 이후 버전을 설치 합니다.

Visual C++ 2013 C 런타임에 정적으로 링크 하는 영향된에서 c + + 이진 파일을 하는 경우 3174417 핫픽스를 설치 하 고 다시 영향을 받는 바이너리를 다시 배포 하 여 2013 Visual Studio 설치를 업데이트 해야 합니다.

참고: 이 문제는 이전 버전의 Visual C++ C 런타임 (Visual C++ 2012 및 이전 버전) 적용 되지 않습니다. 2015 Visual C++에서 사용 되는 범용 CRT의 초기 릴리스 전에 문제를 해결 했습니다.

Microsoft 다운로드 센터

정적으로 링크 된 Visual C++ 2013 C 런타임을 업데이트 하려면 3174417 핫픽스 다운로드 전용 업데이트로 해제 되 고 Windows Update를 통해 배포 되지 않습니다. Microsoft 다운로드 센터 웹 사이트에서 가능 하다.

다운로드패키지를 지금 다운로드 하십시오.

동적으로 링크 된 Visual C++ 2013 C 런타임 Dll 업데이트 프로그램을 업데이트 하려면 재배포 가능 패키지를 사용할 수 있습니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조 하십시오.

해결 과정
이 문제를 해결 하는 Towork이 문제의 영향을 받는 수학 라이브러리의 FMA3 비활성화 합니다. GetEnabledXStateFeatures 를 호출 하 고 _set_FMA3_enable(0)를 호출 하 여 CRT에 AVX를 명시적으로 해제 하 여 시스템 AVX 지침을 지원 하는지 여부를 쿼리할 수 있습니다.

자세한 내용은 참조 하십시오. XState 컨텍스트 사용 MSDN 웹 사이트.

<math.h>, _Set_FMA3_enable(0) 함수가 선언 된 및 x64를 구성한 경우에 표시 됩니다. (이 문제는 x64만 적용 라이브러리.) 따라서 수학 라이브러리를 비 FMA3 구현을 사용 하 여 되돌릴 수 있습니다. </math.h>

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 3174417 - 마지막 검토: 07/29/2016 05:54:00 - 수정: 1.0

Visual Studio 2013 Community Edition

  • kbfix kbqfe atdownload kbexpertiseadvanced kbsurveynew kbmt KB3174417 KbMtko
피드백