Gejala

Anda menggunakan opsi compiler /Ot (mendukung cepat kode) ketika Anda membangun aplikasi yang dikonfigurasi di x64 platform Microsoft Visual Studio 2005 Paket Layanan 1 (SP1). Ketika Anda menjalankan aplikasi, beberapa jika pernyataan mungkin berjalan dengan benar. Oleh karena itu, hasil tak terduga. Misalnya, jika laporan dapat diabaikan di kode aplikasi.

Masalah ini hanya terjadi dalam skenario berikut ini.

  • Ada beberapa petunjuk MOV antara dua perbandingan operasi.

  • Ini membandingkan menggunakan operasi Operand sama.

  • Nilai-nilai Operand diubah dengan petunjuk MOV.

Dalam skenario ini, jika pernyataan dalam operasi Bandingkan kedua dapat diabaikan.

Catatan

  • Masalah ini juga dapat terjadi ketika Anda menggunakan opsi /O2 atau opsi /Ox untuk membangun aplikasi.

  • Masalah ini tidak terjadi pada x86 platform.

Penyebab

Masalah ini terjadi karena Pengoptimal compiler salah menganggap bahwa bendera yang diatur oleh operasi XOR dapat digunakan tanpa termasuk operasi perbandingan.

Pemecahan masalah

Informasi Hotfix

Tersedia hotfix yang didukung dari Microsoft. Namun, hotfix ini ditujukan untuk memperbaiki masalah yang dijelaskan di artikel ini. Hotfix ini hanya berlaku untuk sistem yang mengalami masalah yang dijelaskan di artikel ini. Hotfix ini mungkin akan menerima pengujian tambahan. Oleh karena itu, jika Anda tidak terlalu dipengaruhi oleh masalah ini, kami sarankan Anda menunggu pemutakhiran perangkat lunak berikutnya yang berisi perbaikan terbaru ini.

Apabila hotfix tersedia untuk diunduh, ada bagian "Tersedia unduhan Hotfix" di bagian atas artikel Pangkalan Pengetahuan ini. Jika bagian ini tidak muncul, hubungi layanan pelanggan Microsoft dan dukungan untuk mendapatkan hotfix.

Catatan Jika terjadi masalah tambahan atau apabila pemecahan masalah apa pun diperlukan, Anda mungkin harus membuat permintaan layanan secara terpisah. Biaya dukungan biasa akan berlaku untuk dukungan tambahan pertanyaan dan masalah yang tidak memenuhi syarat untuk hotfix ini. Untuk daftar lengkap nomor telepon layanan pelanggan Microsoft dan dukungan atau untuk membuat permintaan layanan terpisah, kunjungi situs Web Microsoft berikut ini:

http://support.microsoft.com/contactus/?ws=supportCatatan Formulir "Tersedia Unduhan Hotfix" menampilkan bahasa hotfix tersedia. Jika Anda tidak melihat bahasa Anda, hal ini karena hotfix tidak tersedia untuk bahasa tersebut.

Prasyarat

Anda harus memiliki Visual Studio 2005 SP 1 diinstal untuk menerapkan hotfix ini.

Persyaratan menghidupkan ulang

Anda tidak harus menghidupkan ulang komputer setelah menerapkan hotfix ini.

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 tab Zona Waktu di item Tanggal dan Waktu di Panel Kontrol.

Nama file

Versi file

Ukuran file

Tanggal

Waktu

Platform

C2.dll

14.0.50727.3080

2,273,280

19-Nov-2008

18:52

x86

C2.dll

14.0.50727.3080

7,192,576

19-Nov-2008

23:25

IA-64

C2.dll

14.0.50727.3080

2,490,368

19-Nov-2008

23:26

x86

C2.dll

14.0.50727.3080

3,600,384

19-Nov-2008

23:33

x64

C2.dll

14.0.50727.3080

2,203,648

19-Nov-2008

23:33

x86

Pemecahan masalah

Untuk mengatasi masalah ini, gunakan salah satu dari metode berikut ini:

  • Menggunakan kata kunci yang stabil ketika Anda menyatakan variabel yang digunakan dalam laporan jika .

  • Nonaktifkan opsi optimasi kecepatan. Misalnya, ganti opsi /Ot dengan opsi /Os (mendukung kode kecil) . Atau, gunakan opsi /O1 opsi /O2 atau opsi /Ox .

  • Tambahkan baris kode sebelum laporan jika kedua membandingkan operasi. Sebagai contoh, tambahkan pernyataan printf .

Status

Microsoft telah memastikan bahwa ini merupakan masalah di dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".

Informasi lebih lanjut

Untuk informasi lebih lanjut tentang kode satu atau lebih pernyataan mungkin berjalan dengan benar ketika Anda menggunakan fitur optimalisasi kode di Visual Studio 2005, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

925792 satu atau lebih kode pernyataan mungkin berjalan dengan benar ketika Anda menggunakan fitur optimalisasi kode di Visual Studio 2005

Untuk informasi selengkapnya tentang peristilahan pemutakhiran perangkat lunak, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

824684 Deskripsi tentang terminologi standar yang digunakan untuk menjelaskan pembaruan perangkat lunak Microsoft

Perlu bantuan lainnya?

Kembangkan keterampilan Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung Microsoft Insider

Apakah informasi ini bermanfaat?

Seberapa puaskah Anda dengan kualitas terjemahannya?
Apa yang memengaruhi pengalaman Anda?

Terima kasih atas umpan balik Anda!

×