Tệp đối tượng là những gì mà trình liên kết sử dụng để xây dựng các tệp thi hành hoàn chỉnh (hoặc thư viện).
Bạn thường có thể có đầu ra trình biên dịch của bạn thực thi "trực tiếp", cú pháp sẽ phụ thuộc vào trình biên dịch. Ví dụ: với GCC:
gcc foo.c bar.c ...
sẽ tạo tệp thực thi và không có tệp đối tượng trung gian (nhưng có thể sẽ được tạo - và sau đó bị xóa).
Tệp đối tượng được sử dụng để tạo bản dựng gia tăng. Bạn biên dịch từng tệp nguồn (hoặc nhóm các tệp nguồn) thành các tệp đối tượng, sau đó liên kết tất cả chúng với nhau trong một tệp thực thi. Điều này cho phép bạn chỉ biên dịch lại các tệp nguồn đã thay đổi kể từ lần cuối cùng bạn xây dựng, tiết kiệm rất nhiều thời gian. Hoặc bạn có thể sử dụng cùng một tệp đối tượng để liên kết các tệp thi hành khác nhau (sử dụng lại các phần của bản dựng của bạn để tạo cả tệp thực thi và thư viện được chia sẻ), một lần nữa tiết kiệm thời gian và tài nguyên so với việc biên dịch mọi thứ.
Tệp đối tượng không "cần" từ quan điểm lý thuyết. Chúng chỉ rất thực tế (và thực sự cần thiết về mặt kỹ thuật với một số công cụ (nhất?), Là những thứ mà người lắp ráp biết cách sản xuất và mối liên kết biết cách liên kết).