ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

บทนำ

โปรแกรมแก้ไขด่วนที่อธิบายไว้ในบทความนี้ช่วยแก้ไขปัญหาต่อไปนี้ใน Microsoft Visual Studio 2010

ปัญหาที่ 1

คุณพบลักษณะการทำงานที่ไม่คาดคิดเมื่อคุณเรียกใช้โปรแกรมประยุกต์ที่มีการวนรอบในรหัสแหล่งมา ปัญหานี้เกิดขึ้นหากคอมไพล์รหัสแหล่งมา มีการปรับให้เหมาะสมสากล (/ อก) เปิดใช้งาน

ปัญหาที่ 2

พิจารณาสถานการณ์สมมติต่อไปนี้:

  • คุณมีโครงการ Visual C++ ที่มีแฟ้ม Atlcomcli.h

  • คุณระบุตัวเลือกของคอมไพเลอร์ /J เพื่อกำหนด_CHAR_UNSIGNEDแมโครในโครงการ

  • คุณคอมไพล์โครงการ

ในสถานการณ์สมมตินี้ คุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:

  • ข้อผิดพลาด C2338: CVarTypeInfo <อักขระ > ไม่ถูกคอมไพล์ ด้วยค่าสถานะที่เปิดใช้งาน /J หรือ _CHAR_UNSIGNED

  • ข้อผิดพลาด C2338: CVarTypeInfo <อักขระ * > ไม่ถูกคอมไพล์ ด้วยค่าสถานะที่เปิดใช้งาน /J หรือ _CHAR_UNSIGNED

ปัญหาที่ 3

การละเมิดการเข้าถึงเกิดขึ้นเมื่อคุณเรียกใช้โปรแกรมประยุกต์ Visual C++ ที่ถูกสร้างขึ้นสำหรับ Windows รุ่นที่ใช้ x86 ปัญหานี้เกิดขึ้นเมื่อแอพลิเคชันมีแผนภูมิเป็นนิพจน์ที่มีอาร์กิวเมนต์ป้อนเข้าอาร์เรย์ชนิดที่สอง

สาเหตุ

สาเหตุของปัญหา 1

ปัญหานี้เกิดขึ้นเนื่องจากมีดำเนินการเพิ่มประสิทธิภาพการวนรอบไม่ถูกต้อง ซึ่งทำให้สร้างรหัสที่ไม่ถูกต้อง

สาเหตุของปัญหา 2

ปัญหานี้เกิดขึ้นเนื่องจาก assertions แบบคงที่ในแฟ้ม Atlcomcli.h จะถูกกำหนดเป็นอ็อพชัน /J และแมโค CHAR_UNSIGNED ไม่ถูกต้อง

สาเหตุของปัญหา 3

ปัญหานี้เกิดขึ้นเนื่องจากมีผสมอาร์กิวเมนต์ในคำแนะนำในการผลักดันค่า ดังนั้น อาร์กิวเมนต์ที่ไม่ถูกต้องจะถูกส่งผ่านไปดันคำแนะนำ

ข้อมูลเพิ่มเติม

ข้อมูลโปรแกรมแก้ไขด่วน

โปรแกรมแก้ไขด่วนจะพร้อมใช้งานได้ในขณะนี้จาก Microsoft อย่างไรก็ตาม มุ่งหวังเพื่อแก้ไขปัญหาที่อธิบายไว้ในบทความนี้เท่านั้น นำวิธีนี้ไปใช้กับระบบที่ประสบกับปัญหาที่เฉพาะเจาะจงเท่านั้น โปรแกรมแก้ไขด่วนนี้อาจได้รับการทดสอบเพิ่มเติม ดังนั้น ถ้าคุณจะไม่รุนแรงได้รับผลกระทบจากปัญหานี้ เราขอแนะนำให้ คุณรอการถัดไป Visual Studio 2010 ที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้

เมื่อต้องการแก้ไขปัญหานี้ทันที ติดต่อฝ่ายบริการสนับสนุนลูกค้าของ Microsoft เพื่อขอรับโปรแกรมแก้ไขด่วน สำหรับรายชื่อทั้งหมดของหมายเลขโทรศัพท์ของบริการการสนับสนุนลูกค้าของ Microsoft และข้อมูลเกี่ยวกับค่าใช้จ่ายสนับสนุน แวะไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:

http://support.microsoft.com/contactus/?ws=supportหมายเหตุ ในกรณีพิเศษ ค่าบริการที่เรียกเก็บตามปกติเมื่อโทรติดต่อฝ่ายสนับสนุนอาจจะยกเลิกได้หาก Microsoft Support Professional ตัดสินว่าโปรแกรมปรับปรุงที่เฉพาะเจาะจงจะแก้ไขปัญหาของคุณได้ ค่าใช้จ่ายในการสนับสนุนตามปกติจะใช้กับคำถามและปัญหาในการสนับสนุนเพิ่มเติมซึ่งไม่สอดคล้องตามเกณฑ์สำหรับโปรแกรมปรับปรุงเฉพาะที่เกี่ยวข้อง

ข้อกำหนดเบื้องต้น

คุณต้องมี Microsoft Visual Studio 2010 ติดตั้งอยู่เพื่อใช้โปรแกรมแก้ไขด่วนนี้

ข้อกำหนดการรีสตาร์ท

คุณไม่ต้องรีสตาร์ทคอมพิวเตอร์หลังจากใช้โปรแกรมแก้ไขด่วนถ้าคุณกำลังใช้แฟ้มที่ได้รับผลกระทบ

ข้อมูลการแทนที่โปรแกรมแก้ไขด่วน

โปรแกรมแก้ไขด่วนนี้ไม่ได้แทนโปรแกรมแก้ไขด่วนอื่น ๆ

ข้อมูลแฟ้ม


เวอร์ชันภาษาอังกฤษของโปรแกรมแก้ไขด่วนนี้มีแอตทริบิวต์ของแฟ้ม (หรือแอตทริบิวต์ของแฟ้มที่ใหม่กว่านี้) ซึ่งแสดงรายการไว้ในตารางต่อไปนี้ วันที่และเวลาสำหรับแฟ้มเหล่านี้จะแสดงรายการไว้ในรูปแบบเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลแฟ้ม ระบบจะแปลงข้อมูลนี้เป็นเวลาท้องถิ่น เมื่อต้องการค้นหาความแตกต่างระหว่างเวลา UTC กับเวลาท้องถิ่น ใช้
โซนเวลา
ในการ
วันและเวลา
รายการใน'แผงควบคุม'

ชื่อแฟ้ม

รุ่นของแฟ้ม

ขนาดของแฟ้ม

วันที่

เวลา

แพลตฟอร์ม

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

วิธีแก้ปัญหา

วิธีแก้ปัญหาสำหรับปัญหา 1

เมื่อต้องการหลีกเลี่ยงปัญหานี้ ปิดใช้งานการปรับให้เหมาะสมสากล สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการปิดใช้งานการปรับให้เหมาะสมสากล โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

216181แก้ไข: รหัสที่สร้างขึ้นโดย มีประสิทธิภาพสูงสุดของ /Og ไม่ถูกต้อง

วิธีแก้ปัญหาสำหรับปัญหา 2

เมื่อต้องการหลีกเลี่ยงปัญหานี้ ใช้ไดเรกทีฟ pragma ต่อไปนี้จะรวมแฟ้ม 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")

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย

ข้อมูลนี้เป็นประโยชน์หรือไม่

คุณพึงพอใจกับคุณภาพภาษาเพียงใด
สิ่งที่ส่งผลต่อประสบการณ์ใช้งานของคุณ
เมื่อกดส่ง คำติชมของคุณจะถูกใช้เพื่อปรับปรุงผลิตภัณฑ์และบริการของ Microsoft ผู้ดูแลระบบ IT ของคุณจะสามารถรวบรวมข้อมูลนี้ได้ นโยบายความเป็นส่วนตัว

ขอบคุณสำหรับคำติชมของคุณ!

×