ความแตกต่างระหว่างเวลาคอมไพล์และรันไทม์

สารบัญ:

ความแตกต่างระหว่างเวลาคอมไพล์และรันไทม์
ความแตกต่างระหว่างเวลาคอมไพล์และรันไทม์

วีดีโอ: ความแตกต่างระหว่างเวลาคอมไพล์และรันไทม์

วีดีโอ: ความแตกต่างระหว่างเวลาคอมไพล์และรันไทม์
วีดีโอ: คอมไพเลอร์ และ อินเตอร์พรีเตอร์ ต่างกันยังไง? EP.3 | Akara Courses 2024, กรกฎาคม
Anonim

ความแตกต่างที่สำคัญ – เวลาคอมไพล์เทียบกับรันไทม์

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

เวลาคอมไพล์คืออะไร

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

ความแตกต่างระหว่างเวลาคอมไพล์และรันไทม์
ความแตกต่างระหว่างเวลาคอมไพล์และรันไทม์
ความแตกต่างระหว่างเวลาคอมไพล์และรันไทม์
ความแตกต่างระหว่างเวลาคอมไพล์และรันไทม์

รูปที่ 01: เวลาคอมไพล์และรันไทม์

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

รันไทม์คืออะไร

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

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

ความคล้ายคลึงกันระหว่างเวลาคอมไพล์และรันไทม์คืออะไร

ทั้งเวลาคอมไพล์และรันไทม์เป็นเฟสวงจรชีวิตของโปรแกรม

เวลาคอมไพล์และรันไทม์ต่างกันอย่างไร

เวลาคอมไพล์เทียบกับรันไทม์

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

สรุป – เวลาคอมไพล์เทียบกับรันไทม์

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