C Programovanie

Ako používať funkciu ATEXIT v jazyku C.

Ako používať funkciu ATEXIT v jazyku C.
Ak vo svojom operačnom systéme Linux vykonávate proces a chcete normálne ukončenie procesu, musíte vo svojom kóde použiť funkciu atexit. Funkcia atexit umožňuje zaregistrovať funkciu, ktorá sa zvykne volať pri ukončení normálneho procesu pred vykonaním kódu. Je to funkcia knižnice C. Ak je táto funkcia volaná viackrát, každé volanie špecifikuje inú funkciu atexit. Všetky sú implementované v opačnom poradí ako zásobník (t.j.e., posledná uvedená funkcia je prvá, ktorá sa vykoná pri výstupe). V tomto článku si s vami povieme, ako na to.

Poznámka: Budeme používať ubuntu 20.04 na vykonanie konkrétneho procesu a jeho atexitovej funkcie.

Fungovanie funkcie atexit:

Táto atexistická funkcia zaregistruje funkciu, ktorú chcete nazvať v hlavnom procese. Spôsobuje to normálne ukončenie programu. Ak sa po vykonaní vráti hodnota 0, znamená to, že volanie funkcie je úspešné. Ak vráti hodnotu -1 alebo inú hodnotu, funkcii atexit sa nepodarilo zavolať registrovanú funkciu, ak je otvorený akýkoľvek súbor typu open-source. Naproti tomu ukončenie, funkcia atexit zatvorí všetky tieto súbory v čase vykonania.

Krok 1: Vytvorte textový editor na napísanie programu:

Pred vykonaním funkcie atexit je najskôr potrebné vytvoriť program v jazyku C v textovom editore servera Linux pomocou nasledujúceho príkazu na termináli Linux.

$ gedit

Obslužný program „gedit“ bude chvíľu trvať, kým sa otvorí, potom ho budete môcť okamžite použiť. Umožní to otvorenie textového editora, do ktorého môžete napísať kód. Textový editor bude vyzerať ako obrázok uvedený nižšie:

Krok 2: Kódujte program C pomocou funkcie atexit v textovom editore:

Ak chcete používať funkciu atexit, najskôr musíte napísať jednoduchý kód v jazyku C, aby ste ju mohli použiť. Na nižšie uvedenom obrázku je kód jazyka C, v ktorom sú dve funkcie, jedna je v hlavnej triede a druhá je zaregistrovaná vo volaní funkcie atexist.

Uložte tento vyššie uvedený kód obrázka s ľubovoľným názvom pomocou kódu rozšírenia.c. Tento formát ukazuje, že ide o kód jazyka C, a umožňuje vám zobraziť funkcie a knižnicu jazyka C, ktorá je uvedená nižšie ako príklad.

Krok č. 3: Vykonajte proces a skontrolujte výstup programu:

Ak chcete spustiť tento kód, musíte sa najskôr vrátiť k terminálu servera Linux. Na vykonanie musíte dať príkaz „gcc -o test“ a názov vytvoreného súboru C. Tu je príkaz uvedený nižšie:

$ gcc -o testovací kód.c

Toto vám ukáže chybu, ak vo vašom systéme nie je nainštalovaný kompilátor gcc.

Teraz musíte nainštalovať gcc zadaním príkazu „sudo apt install gcc“ na termináli Linux, ako je uvedené nižšie:

Stlačením klávesu Enter začne inštalovať gcc na váš server Linux. Bude to trvať nejaký čas; potom vás vyzve, aby ste v tom čase zadali áno / nie. Musíte zadať áno; potom začne ukazovať priebeh sťahovania kompilátora gcc, ako je znázornené na obrázku nižšie:

Hneď ako na svojom serveri so systémom Linux nainštalujete kompilátor gcc, môžete v ňom úspešne skompilovať svoj kód. Pre získanie konečného výstupu musíte použiť. / testovací príkaz, ako je uvedené nižšie:

Tento príkaz zobrazí výstup vášho kódu. Výstup vášho kódu si môžete pozrieť na nižšie citovanom obrázku.

Ako je uvedené vyššie, „Existujúce úspešne“ je vytvorená funkcia zaregistrovaná a volaná funkciou atexit v hlavnom kóde programu. Tento výstup ukazuje, že funkcia bola úspešne zaregistrovaná. Ak nie je zaregistrovaný, bude mať výstup hodnotu -1.

Ďalším príkladom funkcie atexit používajúcej viac zaregistrovaných funkcií, ktoré sa majú volať:

Ak chcete jasnejšie vedieť, ako táto funkcia funguje, môžete mať iný príklad s iným vykonaním kódu. Rovnakým postupom napíšete kód, ako je uvedené vyššie, pomocou príkazu „gedit“ otvoríte textový editor a po napísaní kódu ho uložíte pod ľubovoľným menom s uvedením .c rozšírenie. Ako je znázornené na nasledujúcom obrázku, môžete vidieť, že viaceré funkcie sú volané funkciou atexit v rovnakom programe.

Na vyššie uvedenom obrázku môžete vidieť, že pomocou funkcie atexit v hlavnom kóde sa volajú a registrujú tri prázdne funkcie. Ak chcete získať výstup z tohto kódu, musíte vykonať rovnaký príkaz, ako už bolo spomenuté vyššie. Otvorte terminál servera Linux a vykonajte príkaz „gcc -o test“ spolu so súborom, ktorý bol vytvorený skôr. Po úspešnej kompilácii kódu musíte v termináli vykonať nasledujúcu citovanú inštrukciu.

$ ./ test

Tu môžete vidieť, že všetky tri volané funkcie sú zaregistrované a úspešne fungujú.

Niektoré konkrétne použitia funkcie „atexit“:

Vyššie sme videli veľmi komplexný server Linux, ktorý pomocou funkcie atexit normalizoval spustený kód a požadoval stav atexit. Ak je pred ukončením kódu zaregistrovaných viac funkcií, na volanie všetkých zaregistrovaných funkcií musíte použiť viac funkcií atexit.

Záver:

Tento článok, ako už bolo spomenuté, ukazuje použitie funkcie atexit v jazyku C. Na kompiláciu vzorového kódu súvisiaceho s funkciou atexit na serveri Linux sme použili kompilátor gcc. Vo vyššie uvedenom článku je niekoľko príkladov na pochopenie použitia funkcie atexit a jej fungovania v systéme Linux. Teraz všetko, čo musíte urobiť, je využiť tento článok na použitie funkcie atexit na vašom serveri Linux.

Ako zmeniť ľavé a pravé tlačidlo myši na počítači so systémom Windows 10
Je úplnou normou, že všetky zariadenia počítačových myší sú ergonomicky navrhnuté pre pravákov. Existujú však dostupné myšacie zariadenia, ktoré sú šp...
Napodobňovanie kliknutí myšou vznášaním sa pomocou myši bez myši vo Windows 10
Používanie myši alebo klávesnice v nesprávnom postoji k nadmernému používaniu môže mať za následok veľa zdravotných problémov vrátane napätia, syndróm...
Pridajte gestá myši do systému Windows 10 pomocou týchto bezplatných nástrojov
V posledných rokoch sa počítače a operačné systémy veľmi vyvinuli. Boli časy, keď používatelia museli prechádzať správcami súborov pomocou príkazov. R...