Skip to main content

ข้อผิดพลาดในการรวบรวมคืออะไร?

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

ภาษาการเขียนโปรแกรมเชิงวัตถุที่พบบ่อยที่สุดคือ C ++ และ Java reg ;, ใช้การรวบรวมในบางรูปแบบสิ่งนี้แตกต่างอย่างมากจากภาษาที่ตีความซึ่งใช้ซอร์สโค้ดดิบที่รันไทม์เพื่อดำเนินการโปรแกรมภาษาไม่จำเป็นต้องมุ่งเน้นวัตถุโดยเนื้อแท้เพื่อที่จะรวบรวมได้ตัวอย่างเช่น C ++ สามารถจัดโครงสร้างโดยใช้การเขียนโปรแกรมเชิงวัตถุหรือขั้นตอน

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

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

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