Linker, loader en uitvoerbare formaten

Wat gebeurt er in het algemeen met de waarde 3 als de C-functie main eindigt met „return 3;”?

  1. AZe wordt als beëindigingsstatus van het programma doorgegeven aan de starter van het programma (zoals de shell)
  2. BOp het scherm verschijnt „3”
  3. CZe wordt het eerste argument bij de volgende keer dat het programma wordt gestart
Antwoord en toelichting tonen

Antwoord: A. Ze wordt als beëindigingsstatus van het programma doorgegeven aan de starter van het programma (zoals de shell)

De retourwaarde van main wordt door de opstartcode aan exit doorgegeven en via het OS als beëindigingsstatus aan het ouderproces gemeld. Per conventie betekent 0 succes en een andere waarde een of andere mislukking, en in de shell kan de beëindigingsstatus van het vorige commando met „echo $?” worden bekeken. In scripts bepaalt men aan de hand van deze waarde of de volgende verwerking doorgaat of stopt.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Linker, loader en uitvoerbare formaten

  1. Wat gebeurt er als het commando strip op een uitvoerbaar bestand wordt gebruikt?
  2. Hoe worden zwakke symbolen (weak symbols) door de linker behandeld?
  3. Wat is het belangrijkste doel van name mangling in C++, waarbij de compiler symboolnamen maakt door informatie zoals argumenttypen aan de functienaam toe te voegen?
  4. Waarvoor wordt de Linux-functie dlopen (overeenkomend met LoadLibrary op Windows) het meest passend gebruikt?
  5. Hoe wordt het fysieke geheugen gebruikt als 100 processen dezelfde gedeelde bibliotheek gebruiken?

Vergelijkingen bij dit onderwerp