Sự khác biệt chính: Thông dịch viên dịch các hướng dẫn lập trình cấp cao thành mã trung gian và sau đó thực thi mã kết quả. Trình biên dịch dịch mã ngôn ngữ lập trình cấp cao thành mã đối tượng. Các trình thông dịch thực thi từng dòng mã, trong khi trình biên dịch thực thi các tệp kết quả.
Trình thông dịch và Trình biên dịch đóng vai trò rất quan trọng trong việc thực hiện các chương trình bằng ngôn ngữ máy tính. Nhiều người có xu hướng nghĩ rằng cả hai đều giống nhau. Tuy nhiên, cả hai đều khác nhau trong các bối cảnh khác nhau.
Sự khác biệt lớn nhất giữa hai là trình biên dịch trực tiếp thay đổi mã nguồn thành ngôn ngữ máy, trong khi đó, trình thông dịch tạo mã giữa và sau đó thực thi mã này để tạo thành mã dễ hiểu cho máy. Thông dịch viên và trình biên dịch có cùng nhiệm vụ dịch mã nguồn thành mã máy, nhưng chúng khác nhau về phương tiện để đạt được bản dịch này. Người tuân thủ có khả năng chẩn đoán và do đó, trong khi biên dịch chương trình cấp cao, họ có thể nhắc thông báo lỗi thích hợp. Trong trường hợp thông dịch viên, mã đối tượng không được lưu trữ và do đó, không thể được sử dụng lại.
Trình biên dịch tạo mã đối tượng trước khi tạo tệp thực thi cho cùng. Chương trình biên dịch được thực thi trực tiếp bằng mã đối tượng. Mặt khác, một thông dịch viên
Trình biên dịch | Thông dịch viên | |
Định nghĩa | Hướng dẫn trình độ cao vào ngôn ngữ máy | Hướng dẫn cấp cao thành một mã trung gian |
Chấp hành | Toàn bộ chương trình cùng một lúc | Từng dòng |
Tốc độ | Nhanh | Chậm |
Giá cả | Giá thấp | Ít hơn |
Sử dụng bộ nhớ | Hơn | Thông thường số tiền lớn |
Sửa đổi trái phép | Khó khăn (Để hiểu dòng chảy của chương trình là một nhiệm vụ phức tạp) | Dễ dàng (Để hiểu dòng chương trình là một nhiệm vụ đơn giản) |
Gỡ lỗi | Khó khăn | Dễ dàng |
Thực thi mã kết quả | Bằng phần cứng máy tính | Bằng chương trình khác |
Thí dụ | Trình biên dịch C | CĂN BẢN |
Chạy máy tính | Bất kì | Thông dịch viên cài đặt |