Pendahuluan
Hotfix yang dijelaskan di artikel ini memperbaiki masalah berikut ini di Microsoft Visual Studio 2010.
Masalah 1
Anda mengalami perilaku tak terduga ketika Anda menjalankan aplikasi yang memiliki loop dalam kode sumber. Masalah ini terjadi jika kode sumber dikompilasi dengan global optimisasi (/ dan) diaktifkan.
Masalah 2
Pertimbangkan skenario berikut ini:
-
Anda memiliki proyek Visual C++ yang menyertakan berkas Atlcomcli.h.
-
Anda menetapkan opsi compiler /J untuk menetapkan_CHAR_UNSIGNEDmakro dalam proyek.
-
Anda menyusun proyek.
Dalam skenario ini, Anda menerima salah satu pesan galat berikut:
-
galat C2338: CVarTypeInfo < char > tidak dikompilasi dengan /J atau _CHAR_UNSIGNED mengaktifkan bendera
-
galat C2338: CVarTypeInfo < char * > tidak dikompilasi dengan /J atau _CHAR_UNSIGNED mengaktifkan bendera
Masalah 3
Pelanggaran akses terjadi ketika Anda menjalankan aplikasi Visual C++ yang dibuat untuk versi Windows berbasis x86. Masalah ini terjadi apabila aplikasi memiliki pohon ekspresi yang memiliki dua tipe array input argumen.
Penyebab
Penyebab masalah 1
Masalah ini terjadi karena salah loop optimasi dijalankan. Hal ini menyebabkan pembuatan kode salah.
Penyebab masalah 2
Masalah ini terjadi karena statis pernyataan di berkas Atlcomcli.h menetapkan opsi /J dan makro CHAR_UNSIGNED secara tidak benar.
Penyebab masalah 3
Masalah ini terjadi karena argumen dalam petunjuk push bercampur. Oleh karena itu, salah argumen disampaikan ke push petunjuk.
Informasi lebih lanjut
Informasi Hotfix
Sekarang tersedia hotfix yang didukung dari Microsoft. Namun, ini ditujukan untuk memperbaiki masalah yang dijelaskan di artikel ini. Terapkan hanya ke sistem yang mengalami masalah khusus ini. Perbaikan terbaru ini dapat menerima pengujian tambahan. Oleh karena itu, jika Anda tidak terlalu dipengaruhi oleh masalah ini, kami menganjurkan Anda menunggu berikutnya Visual Studio 2010 yang berisi hotfix ini.
Untuk segera menyelesaikan masalah ini, hubungi layanan dukungan pelanggan Microsoft untuk mendapatkan hotfix. Untuk daftar lengkap nomor telepon layanan dukungan pelanggan Microsoft dan informasi mengenai biaya dukungan, kunjungi website Microsoft berikut:
http://support.microsoft.com/contactus/?ws=supportCatatan Dalam kasus tertentu, biaya yang biasanya diadakan untuk panggilan dukungan mungkin dibatalkan apabila profesional dukungan Microsoft menentukan bahwa pembaruan khusus akan memecahkan masalah Anda. Biaya dukungan biasa akan berlaku untuk pertanyaan dan masalah yang tidak termasuk pada pembaruan tertentu yang dimaksud dukungan tambahan.
Prasyarat
Anda harus memiliki Microsoft Visual Studio 2010 diinstal untuk menerapkan hotfix ini.
Persyaratan menghidupkan ulang
Anda tidak harus me-restart komputer setelah Anda menerapkan perbaikan terbaru jika berkas yang terpengaruh tidak sedang digunakan.
Informasi penggantian hotfix
Hotfix ini tidak menggantikan hotfix lainnya.
Informasi file
Versi bahasa Inggris dari hotfix ini memiliki atribut berkas (atau atribut berkas yang lebih baru) yang tercantum dalam tabel berikut. Tanggal dan waktu untuk berkas-berkas tersebut dicantumkan dalam Waktu Universal Terkoordinasi (UTC). Ketika Anda melihat informasi berkas, akan diubah ke waktu lokal. Untuk menemukan perbedaan antara waktu UTC dan waktu lokal, gunakan
Zona waktu
tab di
Tanggal dan waktu
item dalam Panel kontrol.
Nama file |
Versi file |
Ukuran file |
Tanggal |
Waktu |
Platform |
---|---|---|---|---|---|
C2.dll |
16.0.30319.314 |
2,510,144 |
30-May-2010 |
20:48 |
x86 |
C2.dll |
16.0.30319.314 |
2,588,480 |
30-May-2010 |
20:48 |
x86 |
C2.dll |
16.0.30319.314 |
2,630,976 |
30-May-2010 |
20:48 |
x86 |
C2.dll |
16.0.30319.314 |
2,977,600 |
30-May-2010 |
20:48 |
x64 |
C2.dll |
16.0.30319.314 |
7,351,616 |
30-May-2010 |
20:48 |
IA-64 |
Pemecahan masalah
Penyelesaian masalah 1
Untuk mengatasi masalah ini, Nonaktifkan optimasi global. Untuk informasi selengkapnya tentang cara menonaktifkan optimasi global, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
216181 memperbaiki: salah kode yang dihasilkan dengan /Og optimasi
Penyelesaian masalah 2
Untuk mengatasi masalah ini, gunakan petunjuk pragma berikut untuk memuat berkas Atlcomcli.h.
#pragma push_macro("ATLSTATIC_ASSERT")
#undef ATLSTATIC_ASSERT
#define ATLSTATIC_ASSERT(x,y)
#include <atlcomcli.h>
#undef ATLSTATIC_ASSERT
#pragma pop_macro("ATLSTATIC_ASSERT")