증상
다음과 같은 경우를 생각해 볼 수 있습니다.
-
Visual C++ 2010 프로젝트를 해야합니다. 프로젝트의 소스 코드 구조 또는 64 바이트를 초과 하는 클래스에 있습니다.
-
X64 기반 플랫폼에 대 한 프로젝트 빌드하고 /O2 컴파일러 옵션을 사용 합니다.
-
응용 프로그램을 실행 합니다.
이 시나리오에서는 액세스 위반이 발생 하 고 응용 프로그램이 충돌 합니다.
원인
이 문제는 Visual Studio 2010의 x64 기반 컴파일러가 64 바이트 16 바이트 데이터 할당 맞춤을 조정 하 여 코드를 최적화 하기 때문에 발생 합니다. 따라서 메모리 문제가 64 바이트를 초과 하는 개체에 대해 발생 합니다.
해결 방법
핫픽스 정보
지원되는 핫픽스를 Microsoft에서 구할 수 있습니다. 그러나 이 핫픽스는 오직 이 문서에서 설명하는 문제를 해결하는 작업에만 사용됩니다. 이 문제가 발생하는 시스템에만 이 핫픽스를 적용해야 합니다. 이 핫픽스는 추가 테스트가 필요할 수도 있습니다. 따라서, 이 문제로 심각하게 영향을 받지 않는 경우 이 핫픽스가 포함된 다음 소프트웨어 업데이트가 나올 때까지 기다리는 것이 좋습니다. MSDN 코드 갤러리에서이 핫픽스를 다운로드 하려면 다음 Microsoft 웹 사이트를 방문 하십시오.
http://code.msdn.microsoft.com/KB2280741참고 MSDN 코드 갤러리 핫픽스를 사용할 수 있는 언어가 표시 됩니다. 나열 된 언어를 표시 되지 않으면 코드 갤러리 리소스 페이지를 해당 언어에 사용할 수 없기 때문에입니다. 참고 추가 문제가 발생하거나 문제 해결이 필요한 경우, 별도로 서비스를 요청해야 할 수도 있습니다. 추가 지원 질문과 이 특정 핫픽스가 필요하지 않은 문제에는 일반 지원 비용이 적용됩니다. Microsoft 고객 서비스 및 지원 전화 번호의 전체 목록이 필요하거나 별도로 서비스를 요청하려면, 다음 Microsoft 웹 사이트를 방문하십시오.
http://support.microsoft.com/contactus/?ws=support이 핫픽스는 다음 Microsoft 웹 사이트를 방문 하 여 다운로드할 수도 있습니다.
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=31433
필수 조건
이 핫픽스를 적용 하려면 Visual Studio 2010이 설치 되어 있어야 합니다.
다시 시작 요구 사항
핫픽스를 적용 한 후 컴퓨터를 다시 시작할 필요가 없습니다.
핫픽스 대체 정보
이 핫픽스는 다른 핫픽스를 대체하지 않습니다.
파일 정보
이 핫픽스의 영어 버전은 다음 표에 열거된 파일 특성 (또는 그 이후의 파일 특성)을 가지고 있습니다. 해당 파일의 날짜와 시간은 UTC(협정 세계시)로 표시됩니다. 파일 정보를 볼 때 로컬 시간으로 변환됩니다. UTC와 로컬 시간의 차이 찾으려면 제어판의 날짜 및 시간 항목에서 표준 시간대 탭을 사용 합니다.
파일 이름 |
파일 버전 |
파일 크기 |
날짜 |
시간 |
플랫폼 |
---|---|---|---|---|---|
C2.dll |
16.0.30319.345 |
2,510,144 |
01-Aug-2010 |
23:42 |
x86 |
C2.dll |
16.0.30319.345 |
2,588,480 |
01-Aug-2010 |
23:42 |
x86 |
C2.dll |
16.0.30319.345 |
2,630,976 |
01-Aug-2010 |
23:42 |
x86 |
C2.dll |
16.0.30319.345 |
2,977,088 |
01-Aug-2010 |
23:42 |
x64 |
C2.dll |
16.0.30319.345 |
7,351,616 |
01-Aug-2010 |
23:42 |
IA-64 |
해결 방법
이 문제를 해결 하려면 프로젝트를 빌드할 때에 /O2 컴파일러 옵션을 사용 하지 마십시오.
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.