ค้นหาบล็อกนี้

วันจันทร์ที่ 3 พฤษภาคม พ.ศ. 2553

interpreter vs compiler

intrepreted program -> เป็น โปรแกรมที่สามารถ execute ได้ line by line (หมายถึง one statement )
โดยจะถูกแปลงเป็นmachine code และ execute มันทันที ซึ่งเราสามารถเปลี่ยนมันได้ง่ายในขณะที่โปรแกรมกำลัง run อยู่ แต่จะมีข้อเสียคือ เสียเวลาในการโปรเซส เนื่องจากต้องมาคอยแปลงเป็น Matchine code ในแต่ละทุกๆบรรทัดแล้วทำงานทันที แทนที่จะอ่านมาทีเดียวแล้วค่อยจัดการทั้งโปรแกรม

compiled program -> จะเป็นโปรแกรมที่้compiler จะconvert มันเป็น machine code เพียง stepเดียว ซึ่งสุดท้ายแล้ว จะได้ obj code ซึ่งประกอบด้วย binary (0,1)ซึ่ง จะบอก microprocessor ว่าคำสั่งนี้หมายถึงอะำไร และมีการลิงค์ส่วนต่างเช่น วิธีในการแสดงผลทางหน้าจอ ว่าจะมีการเรียกprint อย่างไร

virtual machine ->เมื่อเราเขียนโปรแกรมเช่นjava ซึ่งเราเขียนแล้ว save เป็น.java จากนั้นเราใช้java compiler ทำงาน จะได้ java bytecode ซึ่งเป็น intermediate form ซึ่งจะสามารถรันได้ ใน interpreterที่เฉพาะ แล้วจึงค่อยรัน byte codeใน java interpreter ซึ่งจะมีการ optimize code ให้สามารถรันได้ใน ทุกๆmachine เนื่องจาก interpreterนั้นขึ้นกับ machine นั้น

ไม่มีความคิดเห็น:

แสดงความคิดเห็น