Sự khác biệt giữa thời gian biên dịch và thời gian chạy

Sự khác biệt chính - Biên dịch Thời gian so với thời gian chạy
 

Hầu hết các chương trình được viết bằng ngôn ngữ lập trình cấp cao. Các ngôn ngữ lập trình này có một cú pháp tương tự như ngôn ngữ tiếng Anh. Ngôn ngữ cấp cao dễ hiểu bởi con người nhưng máy tính không thể hiểu được. Do đó, chương trình bằng văn bản hoặc mã nguồn nên được chuyển đổi thành định dạng máy dễ hiểu. Nó được gọi là mã máy. Khoảng thời gian để chuyển đổi mã nguồn thành mã máy được gọi là thời gian biên dịch. Các tác vụ như phân tích cú pháp, phân tích ngữ nghĩa và tạo mã xảy ra tại thời điểm biên dịch. Khoảng thời gian để chạy tệp thực thi được tạo tại thời gian biên dịch được gọi là thời gian chạy. Cả hai đều là các thuật ngữ liên quan đến các giai đoạn vòng đời chương trình khác nhau. Bài viết này thảo luận về sự khác biệt giữa thời gian biên dịch và thời gian chạy. Các sự khác biệt chính giữa thời gian biên dịch và thời gian chạy là thời gian biên dịch là giai đoạn vòng đời lập trình chuyển đổi mã nguồn thành tệp thực thi trong khi thời gian chạy đề cập đến giai đoạn vòng đời lập trình chạy các tệp thực thi được tạo tại thời gian biên dịch. Các lỗi xảy ra tại thời gian biên dịch được gọi là lỗi thời gian biên dịch và lỗi xảy ra trong thời gian chạy được gọi là ngoại lệ.

NỘI DUNG

1. Tổng quan và sự khác biệt chính
2. Thời gian biên dịch là gì
3. Thời gian chạy là gì
4. Điểm tương đồng giữa thời gian biên dịch và thời gian chạy
5. So sánh cạnh nhau - Thời gian biên dịch so với thời gian chạy ở dạng bảng
6. Tóm tắt

Thời gian biên dịch là gì?

Lập trình viên có thể đưa ra hướng dẫn cho máy tính bằng ngôn ngữ lập trình. Hầu hết các ngôn ngữ lập trình được sử dụng bởi một lập trình viên là ngôn ngữ lập trình cấp cao. Họ có một cú pháp tương tự như ngôn ngữ tiếng Anh. Những ngôn ngữ này dễ đọc và dễ hiểu bởi con người. Chương trình được viết bằng ngôn ngữ cấp cao được gọi là mã nguồn. Mã nguồn có thể chứa một tập hợp các dòng hoặc nhiều dòng tùy theo tác vụ. Các máy tính được cung cấp bằng ngôn ngữ cấp cao không thể hiểu được. Máy tính hiểu mã máy. Do đó, mã nguồn phải được biên dịch thành mã máy để trở thành một chương trình thực thi. Giai đoạn vòng đời lập trình được gọi là thời gian biên dịch. Đó là khoảng thời gian để hoàn thành quá trình biên dịch. Các hoạt động tại thời gian biên dịch bao gồm phân tích cú pháp, phân tích ngữ nghĩa và tạo mã.

Hình 01: Biên dịch thời gian và thời gian chạy

Trong quá trình biên dịch, lỗi có thể xảy ra. Chúng xảy ra do cú pháp và lỗi ngữ nghĩa. Những lỗi này tránh biên dịch thành công. Trình biên dịch chỉ ra về các lỗi thời gian biên dịch. Nó sẽ hiển thị một thông báo trên dòng xảy ra lỗi. Một số lỗi thời gian biên dịch phổ biến là thiếu dấu ngoặc nhọn, từ định danh sai chính tả và từ khóa sai chính tả. Khi xảy ra lỗi biên dịch, lập trình viên sẽ sửa lỗi đó.

Thời gian chạy là gì?

Thời gian chạy còn được gọi là thời gian thực hiện. Đó là thời gian một chương trình đang chạy trái ngược với các giai đoạn vòng đời chương trình khác như thời gian biên dịch, thời gian tải, v.v. Khi quá trình biên dịch hoàn tất, nó được chạy bởi người dùng. Khoảng thời gian để chạy tệp thực thi được tạo tại thời gian biên dịch được gọi là thời gian chạy. Thuật ngữ thời gian chạy có thể được sử dụng để tham khảo lỗi. Ngay cả chương trình là trình biên dịch đúng, có thể có lỗi.

Những lỗi này sẽ không cung cấp đầu ra dự kiến. Nó cũng có thể chấm dứt việc thực hiện chương trình. Những lỗi này xảy ra trong thời gian chạy vì vậy chúng được gọi là lỗi thời gian chạy hoặc Ngoại lệ. Một số lỗi thời gian chạy đang chia một số cho 0 khi mảng bị giới hạn và hết bộ nhớ.

Sự giống nhau giữa thời gian biên dịch và thời gian chạy là gì?

  • Cả thời gian biên dịch và thời gian chạy là các giai đoạn vòng đời chương trình.

Sự khác biệt giữa thời gian biên dịch và thời gian chạy là gì?

Thời gian biên dịch so với thời gian chạy

Thời gian biên dịch là giai đoạn vòng đời lập trình chuyển đổi mã nguồn thành tệp thực thi. Thời gian chạy là thời gian khi một chương trình đang chạy, ngược lại với các giai đoạn vòng đời chương trình khác như thời gian biên dịch, thời gian liên kết và thời gian tải.
 Lỗi
Lỗi thời gian biên dịch là lỗi cú pháp và ngữ nghĩa. Lỗi thời gian chạy được gọi là ngoại lệ.

Tóm tắt - Biên dịch Thời gian so với thời gian chạy 

Biên dịch thời gian và thời gian chạy là hai giai đoạn của vòng đời lập trình. Bài viết này thảo luận về sự khác biệt giữa thời gian biên dịch và thời gian chạy. Chuyển đổi mã nguồn của lập trình viên thành mã máy xảy ra tại thời điểm biên dịch. Chạy tệp thực thi được tạo tại thời gian biên dịch được gọi là thời gian chạy. Khi có lỗi tại thời gian biên dịch, trình biên dịch sẽ hiển thị một thông báo theo lỗi. Ngay cả chương trình được biên dịch, nó có thể không cung cấp đầu ra dự kiến. Trong trường hợp đó, đó là lỗi thời gian chạy hoặc ngoại lệ. Sự khác biệt giữa thời gian biên dịch và thời gian chạy là thời gian biên dịch là giai đoạn vòng đời lập trình chuyển đổi mã nguồn thành tệp thực thi trong khi thời gian chạy đề cập đến giai đoạn vòng đời lập trình chạy các tệp thực thi được tạo tại thời gian biên dịch.

Tài liệu tham khảo:

1. Thời gian biên dịch. Wikipedia, Wikimedia Foundation, ngày 16 tháng 12 năm 2017. Có sẵn tại đây
2. Thời gian chạy (Giai đoạn vòng đời chương trình). Wikipedia, Wikimedia Foundation, ngày 18 tháng 2 năm 2018. Có sẵn tại đây