Trang chủ / Tin học / Biên dịch và thông dịch khác nhau ở đâu

Biên dịch và thông dịch khác nhau ở đâu

Câu hỏi: Biên dịch và thông dịch khác nhau ở đâu

Trả lời:

Trình biên dịch là trình dịch chuyển đổi từ ngôn ngữ nguồn (các ngôn ngữ lập trình bậc cao) thành ngôn ngữ đối tượng (ví dự như ngôn ngữ máy). Ngược lại với trình biên dịch, trình thông dịch là một chương trình bắt chước việc thực hiện của các chương trình được viết bằng ngôn ngữ nguồn.

Biên dịch và thông dịch khác nhau ở những điểm sau

Trình biên dịch duyệt, kiểm tra, phát hiện lỗi, xác định chương trình nguồn có dịch được không. Dịch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và có thể lưu trữ lại để sử dụng về sau khi cần thiết.

Trình thông dịch lần lượt dịch từng câu lệnh ra ngôn ngữ máy rồi thực hiện ngay câu lệnh vừa dịch được hoặc thông báo lỗi nếu không dịch được.

Bảng so sánh trình biên dịch và trình thông dịch

Tiêu chí Trình biên dịch Trình thông dịch
Đầu vào Toàn bộ trường trình Chỉ một dòng code
Đầu ra Mã đối tượng trung gian Không tạo ra bất kì mã đối tượng trung gian nào
Cơ chế hoạt động Việc biên dịch sẽ phải hoàn thành công việc trước khi thực thi Việc biên dịch và thực thi sẽ là đồng thời
Tốc độ Nhanh hơn Chậm hơn
Bộ nhớ Yêu cầu bộ nhớ nhiều hơn do việc tạo mã đối tượng Nó đòi hỏi ít bộ nhớ hơn vì nó không tạo mã đối tượng trung gian
Errors Hiển thị tất cả các lỗi sau khi biên dịch, tất cả cùng một lúc Hiển thị lỗi của từng dòng một
Phát hiện error Rất khó khăn Tương đối dễ
Các ngôn ngữ lập trình C, C++, C#, Scala, typescript PHP, Perl, Python, Ruby