Care este diferența dintre fișierul obiect și fișierul executabil

principala diferență între fișierul obiect și fișierul executabil este asta un fișier obiect este un fișier generat după compilarea codului sursă, în timp ce un fișier executabil este un fișier generat după legarea unui set de fișiere obiect folosind un linker.  

C este un limbaj de programare de nivel înalt, cu scop general. Mai mult decât atât, este un limbaj de programare structurat care ajută la scrierea unor programe eficiente. Sistemele de operare, compilatoarele de limbă, editorii de text, driverele de rețea, bazele de date sunt câteva aplicații ale limbajului de programare C. Fișierul obiect și fișierul executabil sunt două fișiere legate de programarea C.

Domenii cheie acoperite

1. Ce este fișierul obiect
     - Definiție, funcționalitate
2. Ce este fișierul executabil
     - Definiție, funcționalitate
3. Care este relația dintre fișierul obiect și fișierul executabil
     - Schița Asociației
4. Care este diferența dintre fișierul obiect și fișierul executabil
     - Compararea diferențelor cheie

Termeni cheie

Limbajul C, fișierul executabil, fișierul obiect

Ce este fișierul obiect

Mai întâi, programul C este un set de instrucțiuni scrise în limbajul de programare C pentru a efectua o sarcină specifică. Acest program este numit codul sursă. Programatorul poate citi și înțelege codul sursă, dar CPU-ul nu o înțelege. Prin urmare, este necesar să convertiți codul sursă într-un format ușor de înțeles de către mașină. Un cod obiect este generat după compilarea codului sursă.

Figura 1: Cod sursă

Fișierul obiect este un alt nume pentru codul obiect. Fișierul obiect are extensia .obj în mediul Windows. În plus, fișierul obiect are. o extensie de fișier în mediul Linux. Cu toate acestea, CPU-ul nu poate executa direct fișierul obiect.

Ce este fișierul executabil

După scrierea programului C, dacă există erori de sintaxă, programatorul ar trebui să le editeze. Cu toate acestea, dacă nu există erori de sintaxă, compilatorul convertește codul sursă într-un fișier obiect. Apoi linkerul efectuează procesul de conectare. Este nevoie de unul sau mai multe fișiere obiect generate de compilator și le combină într-un singur fișier executabil. În plus, acesta leagă celelalte fișiere de programe și funcțiile pe care programul le cere. De exemplu, dacă programul are funcția "exp ()", Linker leagă programul cu biblioteca matematică a sistemului.

Figura 2: Crearea unui fișier executabil

Programatorul nu înțelege instrucțiunile din fișierul executabil, dar CPU-ul poate citi și înțelege acele instrucțiuni. Prin urmare, CPU execută direct fișierul executabil pentru a efectua sarcinile definite în program.

Relația dintre fișierul obiect și fișierul executabil

  • Fișierele obiect se combină pentru a crea un fișier executabil.

Diferența dintre fișierul obiect și fișierul executabil

Definiție

Un fișier obiect este un fișier care conține un cod obiect care are un cod format al mașinii care poate fi mutat și care nu este direct executabil. Un fișier executabil este un fișier care poate fi executat direct de computer și capabil să execute sarcinile indicate conform instrucțiunilor codate. Prin urmare, aceasta explică principala diferență dintre fișierul obiect și fișierul executabil.

Tip

O altă diferență între fișierul obiect și fișierul executabil este că un fișier obiect este un fișier intermediar, dar un fișier executabil este un fișier final.

Funcționalitate

Mai mult, compilatorul convertește codul sursă într-un fișier obiect. Cu toate acestea, Linker leagă fișierele de obiecte cu biblioteca de sistem și combină împreună fișierele obiect pentru a crea un fișier executabil.

Execuția directă de către CPU

De asemenea, CPU-ul nu poate executa direct fișierul obiect în timp ce CPU poate executa direct un fișier executabil. Astfel, aceasta este o diferență majoră între fișierul obiect și fișierul executabil.

Concluzie

În concluzie, fișierul obiect și fișierul executabil sunt două fișiere legate de programarea C. Principala diferență dintre fișierul obiect și fișierul executabil este că un fișier obiect este un fișier care este generat după compilarea codului sursă, în timp ce un fișier executabil este un fișier care este generat după legarea unui set de fișiere obiect împreună folosind un linker. 

Referinţă:

1. "Linker (Computing)". Wikipedia, Wikimedia Foundation, 6 octombrie 2018, disponibil aici.

Datorită fotografiei:

1. "Cod sursă în C" De Romainhk - Lucrare proprie (imagine și cod) (CC BY-SA 3.0) prin Wikimedia Commons
2. "Pasii de construire a limbajului C" (CC BY-SA 3.0) prin Wikimedia Commons