ข้อความแสดงข้อผิดพลาดเมื่อคุณใช้คอมไพเลอร์ 2008 Visual C++: "ร้ายแรงข้อผิดพลาด C1859"


อาการ


เมื่อคุณเรียกใช้คอมไพเลอร์ 2008 Visual C++ ของ Microsoft ใน การคอมไพล์แฟ้ม หรือเมื่อ ต้องสร้างโครงการ คุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
ข้อผิดพลาดร้ายแรง C1859:ชื่อแฟ้มส่วนหัวที่ไม่คาดคิดไพล์หัวข้อ เพียงแค่สำเร็จคอมไพเลอร์อาจแก้ไขปัญหานี้ได้
นอกจากนี้ ปัญหานี้ยังคงเกิดขึ้นแม้แต่เมื่อคุณเรียกใช้คอมไพเลอร์อีกครั้ง ปัญหานี้เกิดขึ้นเมื่อคุณเปิดใช้งานตัวเลือกของคอมไพเลอร์หัวไพล์สร้าง/ใช้บนคอมพิวเตอร์ที่กำลังเรียกใช้ Windows 7 หรือ Windows Server 2008

หมายเหตุ คุณอาจพบปัญหานี้เพิ่มเติมบ่อยหากคุณเปิดใช้งานตัวเลือกของคอมไพเลอร์/ วิเคราะห์

สาเหตุ


เมื่อคุณเปิดใช้งานตัวเลือกของคอมไพเลอร์สร้าง/ใช้ Precompiled หัวคอมไพเลอร์ให้ว่า แฟ้มหัวไพล์และโมดูลต่าง ๆ สัมพัทธ์ไม่ย้ายไปมาระหว่างคอมไพล์ อย่างไรก็ตาม คุณลักษณะ Randomization เค้าโครงพื้นที่ของที่อยู่ (หรือที่เรียกอีกอย่างหนึ่งว่า ASLR) แบบสุ่ม relocates โมดูลในกระบวนการ ดังนั้น ข้อผิดพลาดเกิดขึ้นเมื่อโมดูลการย้ายไปมาระหว่างคอมไพล์

การแก้ปัญหา


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

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

เมื่อต้องการดาวน์โหลดโปรแกรมแก้ไขด่วนนี้จากแกลเลอรีรหัส Microsoft Developer Network (MSDN) แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:


หมายเหตุ แกลเลอรีรหัส MSDN แสดงภาษาซึ่งโปรแกรมแก้ไขด่วนพร้อมใช้งานสำหรับภาษานั้น ถ้าคุณไม่เห็นภาษาของคุณปรากฏ อาจเป็น เพราะหน้าแกลเลอรีของรหัสทรัพยากรจะไม่พร้อมใช้งานสำหรับภาษานั้น


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

หมายเหตุ คุณยังสามารถดาวน์โหลดโปรแกรมแก้ไขด่วนนี้จากเว็บไซต์ต่อไปนี้ของ Microsoft:หมายเหตุ แพคเกจโปรแกรมแก้ไขด่วนนี้ยังประกอบด้วยการแก้ไขสำหรับ " C1001: มีข้อผิดพลาดภายในเกิดขึ้นในคอมไพเลอร์ (คอมไพเลอร์แฟ้ม f:\dd\vctools\compiler\utc\src\p2\main.c บรรทัด 182) เมื่อคุณกำลังใช้.NET framework 3.5

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

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

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

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

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

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

ข้อมูลแฟ้ม


เวอร์ชันภาษาอังกฤษของโปรแกรมแก้ไขด่วนนี้มีแอตทริบิวต์ของแฟ้ม (หรือแอตทริบิวต์ของแฟ้มที่ใหม่กว่านี้) ซึ่งแสดงรายการไว้ในตารางต่อไปนี้ วันที่และเวลาสำหรับแฟ้มเหล่านี้จะแสดงรายการไว้ในรูปแบบเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลแฟ้ม ระบบจะแปลงข้อมูลนี้เป็นเวลาท้องถิ่น เมื่อต้องการค้นหาความแตกต่างระหว่างเวลา UTC กับเวลาท้องถิ่น ใช้
โซนเวลา
ในการ
วันและเวลา
รายการใน'แผงควบคุม'
ชื่อแฟ้มรุ่นของแฟ้มขนาดของแฟ้มวันที่เวลา
C1.dll15.0.30729.4455677,18410-Dec-200902:31
C1.dll15.0.30729.4455828,74410-Dec-200902:31
C1xx.dll15.0.30729.44552,202,95210-Dec-200902:31
C1xx.dll15.0.30729.44552,213,70410-Dec-200902:31
C1xx.dll15.0.30729.44552,348,36010-Dec-200902:31
C1xx.dll15.0.30729.44552,504,01610-Dec-200902:31
C1xx.dll15.0.30729.44552,890,56810-Dec-200902:31

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


เมื่อต้องหลีกเลี่ยงปัญหานี้ ใช้หนึ่งในวิธีต่อไปนี้


วิธีที่ 1

ปิดใช้งานตัวเลือกของคอมไพเลอร์/ วิเคราะห์ถ้ามีการเปิดใช้งาน

วิธีที่ 2

เริ่มต้นการสร้างใหม่ทั้งหมด

วิธีที่ 3

เริ่มระบบของคอมพิวเตอร์ใหม่

วิธีที่ 4

ปิดใช้งานตัวเลือกของคอมไพเลอร์หัวไพล์สร้าง/ใช้


หมายเหตุ วิธีการเหล่านี้ไม่รับประกันความสามารถทำงาน ถ้าคุณใช้วิธีการเหล่านี้หนึ่ง คุณอาจยังคงพบปัญหานี้

สถานะ


Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"

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


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