Wat is het verschil tussen het objectbestand en het uitvoerbare bestand

De grootste verschil tussen objectbestand en uitvoerbaar bestand is dat een objectbestand is een bestand dat wordt gegenereerd na het compileren van de broncode, terwijl een uitvoerbaar bestand een bestand is dat is gegenereerd na het koppelen van een set objectbestanden samen met behulp van een linker.  

C is een programmeertaal voor algemene doeleinden op hoog niveau. Bovendien is het een gestructureerde programmeertaal die helpt bij het schrijven van efficiënte programma's. Besturingssystemen, taalcompilers, teksteditors, netwerkdrivers, databases zijn enkele toepassingen van C-programmeertaal. Objectbestand en uitvoerbaar bestand zijn twee bestanden gerelateerd aan C-programmering.

Key Areas Covered

1. Wat is een objectbestand
     - Definitie, functionaliteit
2. Wat is een uitvoerbaar bestand
     - Definitie, functionaliteit
3. Wat is de relatie tussen het objectbestand en het uitvoerbare bestand
     - Overzicht van vereniging
4. Wat is het verschil tussen het objectbestand en het uitvoerbare bestand
     - Vergelijking van belangrijke verschillen

Sleutelbegrippen

C Taal, Uitvoerbaar bestand, Objectbestand

Wat is een objectbestand

Allereerst is C-programma een set instructies geschreven in de C-programmeertaal om een ​​specifieke taak uit te voeren. Dit programma wordt de broncode genoemd. De programmeur kan de broncode lezen en begrijpen, maar de CPU begrijpt dit niet. Daarom is het noodzakelijk om de broncode om te zetten in een door de machine te begrijpen indeling. Een objectcode wordt gegenereerd na het compileren van de broncode.

Figuur 1: Broncode

Objectbestand is een andere naam voor objectcode. Het objectbestand heeft de extensie .obj in Windows-omgeving. Bovendien heeft het objectbestand de. o bestandsextensie in Linux-omgeving. De CPU kan het objectbestand echter niet rechtstreeks uitvoeren.

Wat is een uitvoerbaar bestand

Na het schrijven van het C-programma, als er syntaxisfouten zijn, moet de programmeur deze bewerken. Als er echter geen syntaxisfouten zijn, converteert de compiler de broncode naar een objectbestand. Vervolgens voert de linker het koppelingsproces uit. Het vereist een of meer objectbestanden die door de compiler zijn gegenereerd en combineert deze tot één uitvoerbaar bestand. Bovendien koppelt het de andere programmabestanden en functies die het programma vereist. Als het programma bijvoorbeeld de functie "exp ()" heeft, koppelt de Linker het programma aan de wiskundebibliotheek van het systeem.

Figuur 2: Een uitvoerbaar bestand maken

De programmeur begrijpt de instructies in het uitvoerbare bestand niet, maar de CPU kan deze instructies lezen en begrijpen. Daarom voert de CPU direct het uitvoerbare bestand uit om de gedefinieerde taken in het programma uit te voeren.

Relatie tussen objectbestand en uitvoerbaar bestand

  • Objectbestanden worden samengevoegd om een ​​uitvoerbaar bestand te maken.

Verschil tussen objectbestand en uitvoerbaar bestand

Definitie

Een objectbestand is een bestand dat een objectcode bevat met een verplaatsbare machinecoderingscode die niet direct uitvoerbaar is. Een uitvoerbaar bestand is een bestand dat rechtstreeks door de computer kan worden uitgevoerd en dat de aangegeven taken volgens de gecodeerde instructies kan uitvoeren. Vandaar dat dit het belangrijkste verschil tussen het objectbestand en het uitvoerbare bestand verklaart.

Type

Een ander verschil tussen het objectbestand en het uitvoerbare bestand is dat een objectbestand een tussenliggend bestand is, maar een uitvoerbaar bestand is een laatste bestand.

functionaliteit

Bovendien converteert de compiler de broncode naar een objectbestand. Links verbindt de objectbestanden echter met de systeembibliotheek en combineert de objectbestanden samen om een ​​uitvoerbaar bestand te maken.

Directe uitvoering door CPU

Ook kan de CPU het objectbestand niet rechtstreeks uitvoeren, terwijl de CPU een uitvoerbaar bestand direct kan uitvoeren. Dit is dus een groot verschil tussen het objectbestand en het uitvoerbare bestand.

Conclusie

Concluderend, Object File en Executable File zijn twee bestanden gerelateerd aan C-programmering. Het belangrijkste verschil tussen het objectbestand en het uitvoerbare bestand is dat een objectbestand een bestand is dat wordt gegenereerd na het compileren van de broncode, terwijl een uitvoerbaar bestand een bestand is dat wordt gegenereerd nadat een set objectbestanden aan elkaar is gekoppeld met behulp van een linker. 

Referentie:

1. "Linker (Computing)." Wikipedia, Wikimedia Foundation, 6 oktober 2018, hier beschikbaar.

Afbeelding met dank aan:

1. "Broncode in C" door Romainhk - Eigen werk (afbeelding en code) (CC BY-SA 3.0) via Commons Wikimedia
2. "C language building steps" (CC BY-SA 3.0) via Commons Wikimedia