So sánh giữa trình Biên dịch và Thông dịch.

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

So sánh giữa trình Biên dịch và Thông dịch.

Bài gửi  DinhTienDoan17(K17) on 25/10/2014, 08:04

Compiler(Biên dịch):
– Chương trình được viết được biên dịch ra thành ngôn ngữ máy trên một HDH xác định trước và chỉ chạy trên HDH đó (C++ -> .exe chỉ chạy trên Win, C++ -> .o chạy trên Unix/Linux …..)
– Ưu điểm của trình biên dịch là chương trình được tối ưu tốt cho HĐH và kiến trúc phần cứng ngay lúc dịch sang mã máy.
– Tuy quá trình này tốn thời gian, nhưng chỉ thực hiện có 1 lần mà thôi.
– Trình biên dịch tạo ra file executable lúc này đã là mã máy, nên trên đĩa nó bao nhiêu thì load lên memory nó sẽ xấp xỉ bấy nhiêu.
Interpreter(Thông dịch):
– Trong thông dịch thì mã nguồn không được dịch trước thành ngôn ngữ máy mà mỗi lần cần chạy chương trình thì mã nguồn mới được dịch để thực thi từng dòng 1 (line by line). Tất cả các ngôn ngữ không biện dịch ra mã máy điều phải sử dụng trình thông dịch (PHP, WScripts, Perl, Linux Shell, Python….). Các ngôn ngữ theo trình thông dịch thường được gọi là script (kịch bản)
– Trình thông dịch thì có ưu điểm là có thể chạy trên nhiều HĐH và kiến trúc máy tính khác nhau, miễn là có bộ thông dịch tương ứng trên HDH.
– Trình thông dịch thì mỗi lần chạy sẽ chuyển chương trình sang mã máy, mỗi lần dịch thì thời gian tốt ít thôi, nhưng bù lại có thể lần nào chạy cũng phải dịch (trừ khi bộ thông dịch cache lại kết quả của lần dịch trước đó)
– Trình thông dịch thì trên memory còn có bộ thông dịch, và bộ thông dịch phải load chương trình nguồn lên rồi dịch thành mã máy…cho nên thường quá trình chạy 1 chương trình thông dịch sẽ tốn memory hơn.

DinhTienDoan17(K17)

Tổng số bài gửi : 2
Join date : 24/10/2014
Age : 21

Xem lý lịch thành viên

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết