30/09/2018, 17:03

Source file, object file, executable file khác nhau như thế nào?

Trả lời ngắn:

  • Source file: là file text chứa code ở dạng văn bản con người đọc được
  • Object file: là file có chứa mã máy, nhưng chư thực thi được
  • Executable file: là output của linker sau khi “gom” một hoặc nhiều file object và thư viện lại mà thành.

Trả lời chi tiết:

  • Source file: là các file lập trình viên tự viết ra. Các file này có chứa thuật toán và được viết bằng các ngôn ngữ lập trình mà con người hiểu được. Các file này có thể là .c, .h, .cpp, .cs, .js

  • Object file: là các file được sinh ra từ source file. Các file này có dạng .obj, đây là output của compiler. Các file source code ta viết thì máy không thể hiểu được. Ngược lại con người cũng không thể lập trình bằng mã máy. Tức là viết các câu lệnh dưới dạng mã 1010101. Khi đó ta cần đến compiler để “dịch” ngôn ngữ con người hiểu sang ngôn ngữ máy hiểu. Ngôn ngữ máy hiểu là mã máy và được lưu trữ ở file object. Tuy nhiên file object này chưa chạy được ngay, mà cần phải có linker để liên kết các thư viện đã sử dụng trong các file object lại với nhau. Đồng thời, mỗi một chương trình cần có startup code để có thể chạy trên các hệ điều hành khác nhau. Linker cũng làm nhiệm vụ thêm startup code vào để tạo ra file executable.

  • Executable file: là file thực thi, là kết quả của quá trình compiling và linking. Sau khi hoàn thành hai quá trình này mà không có lỗi gì thì ta sẽ được một file thực thi. Nếu ta sử dụng hệ điều hành Windows thì ta sẽ thấy file này ở dạng tenfile.exe và có thể thực thi bằng cách click double vào file đó hoặc chạy file bằng dòng lệnh. Giả sử file này đang nằm ở ổ D thì ta sẽ chạy như sau:

D:>tenfile.exe

Bổ sung thêm:

  • Compiler:

  • Linker:

Nguyễn Minh Dũng viết 19:14 ngày 30/09/2018

This topic is now unlisted. It will no longer be displayed in any topic lists. The only way to access this topic is via direct link.

Bài liên quan
0