เนื้อหา
- สร้างเวลา
- รันไทม์
- ความแตกต่าง
- ข้อผิดพลาดเวลาคอมไพล์
- ข้อผิดพลาดในการรันไทม์ที่หายนะ
- ข้อผิดพลาดตรรกะรันไทม์
วิธีการทำงานของโปรแกรมคอมพิวเตอร์เป็นเรื่องลึกลับสำหรับผู้ใช้ทั่วไปที่ไว้วางใจการทำงานของโปรแกรมเมอร์ โปรแกรมเมอร์ต้องเข้าใจวิธีที่คอมพิวเตอร์คาดหวังว่าจะได้รับคำสั่งในขั้นตอนการดำเนินการสองขั้นตอน (เวลาคอมไพล์และเวลาดำเนินการ) นอกเหนือจากแนวคิดอื่น ๆ
สร้างเวลา
ขั้นตอนแรกของการเรียกใช้โปรแกรมคือเวลาในการคอมไพล์เกี่ยวข้องกับการแปลภาษาที่มนุษย์เข้าใจได้หรือ "ซอร์สโค้ด" เป็นภาษาที่คอมพิวเตอร์เข้าใจหรือ "รหัสเครื่อง" ซอร์สโค้ดประกอบด้วยคำที่คุณรู้จักตัวเลขในรูปแบบฐานสิบและโครงสร้างที่จัดระเบียบซึ่งช่วยให้เข้าใจขั้นตอนของคำสั่งได้ง่ายขึ้น ขั้นตอนเวลาคอมไพล์จะเสร็จสมบูรณ์เมื่อโปรแกรมใหม่เป็นไฟล์ปฏิบัติการ
รันไทม์
คอมพิวเตอร์ใช้คำสั่งที่สร้างขึ้นในขณะคอมไพล์เพื่อรันโปรแกรม ในระหว่างรันไทม์คอมพิวเตอร์จะอ่านคำแปลของซอร์สโค้ดเพื่อทำงานที่โปรแกรมเมอร์รวมอยู่ด้วย ทุกครั้งที่มีคนเรียกใช้โปรแกรมพวกเขาจะทำในเวลาทำงาน
ความแตกต่าง
เวลาในการคอมไพล์จะถูกข้ามเพียงครั้งเดียวในการแปลซอร์สโค้ดเป็นไฟล์ปฏิบัติการซึ่งสามารถเรียกกี่ครั้งก็ได้ตามความจำเป็นโดยไม่ต้องคอมไพล์อีกเว้นแต่โปรแกรมจะต้องการการเปลี่ยนแปลง ผู้ใช้ส่วนใหญ่ใช้เฉพาะรันไทม์
ข้อผิดพลาดเวลาคอมไพล์
ข้อผิดพลาดอาจเกิดขึ้นได้ในระหว่างการทำงานของโปรแกรมทั้งสองขั้นตอน ข้อผิดพลาดเวลาคอมไพล์หรือข้อผิดพลาดทางไวยากรณ์มีอยู่ในซอร์สโค้ด ตัวอย่างของคำสั่งเหล่านี้ ได้แก่ คำสั่งที่สะกดผิดปัญหาในลำดับการดำเนินการการรวมกันของประเภทของตัวแปรที่เข้ากันไม่ได้และการละเว้นองค์ประกอบที่จำเป็น โปรแกรมเมอร์สามารถตรวจจับข้อผิดพลาดเวลาคอมไพล์ได้อย่างง่ายดายเนื่องจากเป็นแบบวากยสัมพันธ์มากกว่าตรรกะ คอมไพเลอร์มักจะพบข้อผิดพลาดเวลาคอมไพล์และอธิบายหรือให้คำแนะนำในการแก้ไข หากคอมไพเลอร์สร้างไฟล์ปฏิบัติการจากโค้ดโปรแกรมจะไม่มีข้อผิดพลาดเวลาคอมไพล์
ข้อผิดพลาดในการรันไทม์ที่หายนะ
ข้อผิดพลาดรันไทม์อาจทำให้โปรแกรมขัดข้องและยุติก่อนกำหนด ตัวอย่างของข้อผิดพลาดดังกล่าว ได้แก่ การเข้าถึงหน่วยความจำที่ จำกัด และแบ่งออกเป็นศูนย์ คำสั่ง "x / y" มีความถูกต้องตามหลักไวยากรณ์ แต่ถ้า "y" มีค่า 0 ในขณะรันโปรแกรมจะล้มเหลว โปรแกรมเมอร์อาจพบว่าเป็นการยากที่จะค้นหาข้อผิดพลาดขณะทำงานเนื่องจากมักเกิดขึ้นภายใต้เงื่อนไขบางประการ
ข้อผิดพลาดตรรกะรันไทม์
ข้อผิดพลาดทางตรรกะไม่ได้ทำให้โปรแกรมล้มเหลว แต่จะทำให้โปรแกรมทำงานในลักษณะที่โปรแกรมเมอร์ไม่ต้องการ พิจารณาโปรแกรมที่มีเมนูตัวเลือกที่คาดว่าผู้ใช้จะป้อนหมายเลขตัวเลือกที่ต้องการ หากผู้ใช้พิมพ์ตัวอักษรโปรแกรมกำลังรอตัวเลขสามารถแปลงเป็นค่าตัวเลขและส่งผู้ใช้ไปยังตัวเลือกใดตัวเลือกหนึ่งโดยดูเหมือนไม่มีอะไรผิดปกติแทนที่จะแจ้งว่าผู้ใช้พิมพ์ตัวเลือกที่ไม่ถูกต้อง