Sự khác biệt chính - Thời gian biên dịch 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ó cú pháp tương tự như ngôn ngữ tiếng Anh. Con người có thể dễ dàng hiểu được ngôn ngữ bậc cao nhưng lại không thể hiểu được bằng máy tính. Do đó, chương trình đã viết hoặc mã nguồn phải được chuyển đổi thành định dạng máy có thể hiểu được. Nó được gọi là mã máy. Khoảng thời gian để chuyển đổi mã nguồn sang 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 điểm 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. 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 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 ra tại thời điểm biên dịch. Các lỗi xảy ra trong thời gian biên dịch được gọi là lỗi thời gian biên dịch và các lỗi xảy ra trong thời gian chạy được gọi là ngoại lệ.
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à các ngôn ngữ lập trình cấp cao. Chúng có 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 thuộc vào nhiệm vụ. Máy tính không thể hiểu được các hướng dẫn được cung cấp bằng ngôn ngữ cấp cao. 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 để có thể là một chương trình thực thi được. 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 điểm 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: Thời gian biên dịch 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 lỗi cú pháp và 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ị thông báo lỗi xảy ra ở dòng nào. Một số lỗi phổ biến trong thời gian biên dịch là thiếu dấu ngoặc nhọn, số nhận dạng 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 nên sửa lỗi đó.
Runtime là gì?
Thời gian chạy còn được gọi là thời gian thực thi. Đó là thời điểm mà một chương trình đang chạy ngược lại với các giai đoạn khác của vòng đời chương trình như thời gian biên dịch, thời gian tải,… Khi quá trình biên dịch hoàn thành, 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 điểm 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 để chỉ các lỗi. Ngay cả khi chương trình được biên dịch đúng cách, vẫn có thể xảy ra lỗi.
Những lỗi này sẽ không đưa ra kết quả như mong đợi. Nó cũng có thể chấm dứt việc thực thi 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ị ràng buộc 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 đều là các giai đoạn vòng đời của 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. | Runtime là thời gian chương trình đang chạy, ngược lại với các giai đoạn khác của vòng đời chương trình 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 - Thời gian biên dịch so với Thời gian chạy
Thời gian biên dịch 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. Việc 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 điểm biên dịch được gọi là thời gian chạy. Khi có lỗi tại thời điểm biên dịch, trình biên dịch sẽ hiển thị thông báo theo lỗi. Ngay cả chương trình được biên dịch, nó có thể không cho kết quả như mong đợi. Trong trường hợp đó, đó là lỗi thời gian chạy hoặc một 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 điểm biên dịch.