C Programmeren

Hoe de ATEXIT-functie IN C-taal te gebruiken.

Hoe de ATEXIT-functie IN C-taal te gebruiken.
Als u een proces uitvoert in uw Linux-besturingssysteem en alles wat u wilt een normale procesbeëindiging, moet u de functie atexit in uw code gebruiken. Met de functie atexit kunt u een functie registreren die wordt aangeroepen bij normale procesbeëindiging voordat de code wordt uitgevoerd. Het is een C-bibliotheekfunctie. Als deze functie meerdere keren wordt aangeroepen, specificeert elke aanroep een andere atexit-functie. Ze worden allemaal in de tegenovergestelde volgorde geïmplementeerd als een stapel (i.e., de laatst genoemde functie is de eerste die wordt uitgevoerd bij het verlaten). We zullen in dit artikel de methoden om dit allemaal te doen met u bespreken.

Opmerking: we zullen ubuntu 20 . gebruiken.04 voor het uitvoeren van het specifieke proces en zijn atexit-functie.

Werking van de atexit Functie:

Deze atexist-functie registreert een functie die u wilt aanroepen in het hoofdproces. Het veroorzaakt de normale programmabeëindiging. Na uitvoering, als het 0 retourneert, betekent dit dat de functieaanroep succesvol is. Als het -1 of een andere waarde retourneert, kan de functie atexit de geregistreerde functie niet aanroepen als een open-sourcebestand wordt geopend. Daarentegen zal de functie beëindiging, atexit al die bestanden sluiten op het moment van uitvoering.

Stap # 1: Maak een teksteditor om een ​​programma te schrijven:

Voordat u een atexit-functie uitvoert, moet u eerst een C-taalprogramma maken in de teksteditor van uw Linux-server, met behulp van de volgende opdracht op uw Linux-terminal.

$ gedit

Het "gedit"-hulpprogramma heeft enige tijd nodig om te openen, waarna u het onmiddellijk kunt gebruiken. Hiermee kunt u een teksteditor openen waarin u uw code kunt schrijven. De teksteditor zal verschijnen zoals de onderstaande afbeelding:

Stap #2: Codeer een C-programma met behulp van de aexit-functie in de teksteditor:

Om de atexit-functie te gebruiken, moet u eerst een eenvoudige C-taalcode schrijven om de functie erin toe te passen. Er is een C-taalcode in de onderstaande afbeelding waarin er twee functies zijn, één in de hoofdklasse en een andere is geregistreerd in de atexist-functieaanroep.

Bewaar deze bovenstaande afbeeldingscode met een naam met behulp van extensiecode.c. Dit formaat laat zien dat het een C-taalcode is, en u kunt de functies en bibliotheek van de C-taal hieronder weergeven als voorbeeld.

Stap # 3: Voer het proces uit om de uitvoer van het programma te controleren:

Om de code uit te voeren, moet je eerst teruggaan naar de terminal van de Linux-server. Voor het uitvoeren moet u het commando "gcc -o test" en de naam van het gemaakte C-bestand geven. Hier is de onderstaande opdracht:

$ gcc -o testcode.c

Dit geeft een foutmelding als de gcc-compiler niet op uw systeem is geïnstalleerd.

Nu moet je gcc installeren door het commando "sudo apt install gcc" op je Linux-terminal te geven, zoals hieronder weergegeven:

Door op de enter-toets te drukken, begint het gcc te installeren op je Linux-server. Het zal enige tijd duren; daarna wordt u gevraagd om op dat moment ja/nee in te voeren. Je moet ja invullen; dan zal het de voortgang van het downloaden van de gcc-compiler laten zien, zoals weergegeven in de onderstaande afbeelding:

Zodra je de gcc-compiler op je Linux-server hebt geïnstalleerd, kun je je code erin compileren. Om de uiteindelijke uitvoer te krijgen, moet je de . gebruiken. /test commando zoals hieronder:

Deze opdracht geeft de uitvoer van uw code weer. U kunt de uitvoer van uw code bekijken in de onderstaande afbeelding:.

Zoals hierboven getoond, is "Bestaand met succes" de gecreëerde functie die is geregistreerd en aangeroepen door de atexit-functie in de hoofdcode van het programma. Deze output geeft aan dat de functie succesvol is geregistreerd. Als het niet is geregistreerd, geeft het de uitvoer als -1.

Een ander voorbeeld van een aexit-functie die meerdere geregistreerde functies gebruikt die moeten worden aangeroepen:

Om duidelijker te weten hoe deze functie werkt, heb je misschien een ander voorbeeld met andere code-uitvoering. Herhaal hetzelfde proces om een ​​code te schrijven zoals hierboven vermeld door het commando "gedit" te gebruiken om de teksteditor te openen en na het schrijven van uw code, sla deze op met een willekeurige naam door de .c extensie. Zoals te zien is in de onderstaande afbeelding, kunt u zien dat de meerdere functies worden aangeroepen door de aexit-functie in hetzelfde programma.

In de bovenstaande afbeelding kunt u zien dat drie lege functies worden aangeroepen en geregistreerd met behulp van de atexit-functie in de hoofdcode. Om de uitvoer van deze code te krijgen, moet u dezelfde opdracht uitvoeren als eerder vermeld. Open de terminal van je Linux-server en voer het commando “gcc -o test” uit, samen met het eerder aangemaakte bestand. Na de succesvolle compilatie van de code, moet u de volgende geciteerde instructie in de terminal uitvoeren:.

$ ./test

Hier kunt u zien dat alle drie de aangeroepen functies zijn geregistreerd en met succes werken.

Enkele specifieke toepassingen van de "atexit" -functie:

Hierboven hebben we een zeer uitgebreide Linux-server gezien die de functie atexit gebruikt om de uitgevoerde code te normaliseren en de gewenste atexit-status heeft. Wanneer meerdere functies zijn geregistreerd voordat de code wordt beëindigd, moet u meerdere aexit-functies gebruiken om elke geregistreerde functie aan te roepen.

Conclusie:

Het artikel, zoals eerder vermeld, toont het gebruik van de atexit-functie in de C-taal. We hebben de gcc-compiler gebruikt om de voorbeeldcode te compileren met betrekking tot de atexit-functie in de Linux-server. In het bovenstaande artikel zijn er meerdere voorbeelden om het gebruik van de atexit-functie te begrijpen en hoe deze werkt in Linux. Nu hoef je alleen maar te profiteren van dit artikel om de atexit-functie op je Linux-server te gebruiken.

Hoe FPS-teller in Linux-games te tonen
Linux-gaming kreeg een grote duw toen Valve in 2012 Linux-ondersteuning voor Steam-client en hun games aankondigde. Sindsdien hebben veel AAA- en indi...
Sid Meier's Civilization VI downloaden en spelen op Linux and
Inleiding tot het spel Civilization 6 is een moderne versie van het klassieke concept dat werd geïntroduceerd in de serie Age of Empires-games. Het id...
Doom installeren en spelen op Linux
Inleiding tot Doom De Doom-serie is ontstaan ​​in de jaren 90 na de release van de originele Doom. Het was meteen een hit en vanaf die tijd heeft de g...