Programare C

Cum se folosește funcția ATEXIT ÎN limbajul C.

Cum se folosește funcția ATEXIT ÎN limbajul C.
Dacă efectuați un proces în sistemul dvs. de operare Linux și tot ce doriți să aveți un proces normal de terminare, trebuie să utilizați funcția atexit din codul dvs. Funcția atexit vă permite să înregistrați o funcție care este folosită pentru a fi apelată la terminarea normală a procesului înainte de executarea codului. Este o funcție de bibliotecă C. Dacă această funcție este apelată de mai multe ori, fiecare apel specifică o funcție de ieșire diferită. Toate sunt implementate în ordinea opusă ca o stivă (i.e., ultima funcție menționată este prima care se execută la ieșire). Vom discuta metodele de a face toate acestea cu dvs. în acest articol.

Notă: Vom folosi Ubuntu 20.04 pentru efectuarea procesului specific și a funcției sale de ieșire.

Funcționarea funcției atexit:

Această funcție atexistă va înregistra o funcție pe care doriți să o numiți în procesul principal. Provoacă încetarea normală a programului. După executare, dacă returnează 0, înseamnă că apelul funcțional are succes. Dacă returnează -1 sau orice altă valoare, funcția atexit nu a reușit să apeleze funcția înregistrată dacă este deschis orice fișier open-source. În schimb, funcția de terminare, atexit va închide toate acele fișiere în momentul executării.

Pasul 1: Creați un editor de text pentru a scrie un program:

Înainte de a efectua o funcție atexit, mai întâi, trebuie să creați un program de limbă C în editorul de text al serverului Linux, utilizând următoarea comandă la terminalul Linux.

$ gedit

Utilitarul „gedit” va dura ceva timp până se va deschide, după care îl veți putea folosi imediat. Acesta va permite deschiderea unui editor de text în care vă puteți scrie codul. Editorul de text va apărea ca imaginea dată mai jos:

Pasul 2: Codificați un program C folosind funcția atexit în Editorul de text:

Pentru utilizarea funcției atexit, în primul rând, trebuie să scrieți un cod simplu de limbaj C pentru a aplica funcția în ea. Există un cod de limbă C în imaginea de mai jos, în care există două funcții, una este în clasa principală, iar alta este înregistrată în apelul de funcție atexist.

Salvați acest cod de imagine de mai sus cu orice nume folosind codul de extensie.c. Acest format arată că este un cod de limbă C și vă permite să afișați funcțiile și biblioteca limbajului C de mai jos.

Pasul 3: Executați procesul pentru a verifica ieșirea programului:

Pentru a executa codul, în primul rând, trebuie să vă întoarceți la terminalul serverului Linux. Pentru executare, trebuie să dați comanda „gcc -o test” și numele fișierului C creat. Iată comanda de mai jos:

$ gcc -o cod de testare.c

Acest lucru vă va arăta o eroare dacă compilatorul gcc nu este instalat în sistemul dvs.

Acum trebuie să instalați gcc dând comanda „sudo apt install gcc” la terminalul Linux așa cum se arată mai jos:

Apăsând tasta Enter, va începe instalarea gcc pe serverul dvs. Linux. O să ia ceva timp; după aceea, vă va cere să introduceți da / nu, în acel moment. Trebuie să intri da; apoi va începe să arate progresul descărcării compilatorului gcc așa cum se arată în imaginea de mai jos:

De îndată ce ați instalat compilatorul gcc pe serverul dvs. Linux, puteți compila cu succes codul dvs. în acesta. Pentru a obține rezultatul final, trebuie să utilizați. / test comanda ca mai jos:

Această comandă va afișa ieșirea codului dvs. Puteți vizualiza ieșirea codului dvs. în imaginea citată mai jos.

Așa cum se arată mai sus, „Existând cu succes” este funcția creată înregistrată și apelată de funcția atexit în codul principal al programului. Această ieșire arată că funcția s-a înregistrat cu succes. Dacă nu este înregistrat, va da ieșirea ca -1.

Un alt exemplu de funcție atexit care folosește mai multe funcții înregistrate de apelat:

Pentru a cunoaște mai clar cum funcționează această funcție, este posibil să aveți un alt exemplu cu execuție de cod diferită. Repetați același proces pentru a scrie un cod așa cum s-a menționat mai sus folosind comanda „gedit” pentru a deschide editorul de text și după ce ați scris codul, salvați-l cu orice nume menționând .extensie c. Așa cum se arată în imaginea de mai jos, puteți vedea că funcțiile multiple sunt apelate de funcția atexit în același program.

În imaginea de mai sus, puteți vedea trei funcții goale care sunt apelate și înregistrate utilizând funcția atexit din codul principal. Pentru a obține ieșirea acestui cod, trebuie să efectuați aceeași comandă menționată anterior. Deschideți terminalul serverului Linux și executați comanda „gcc -o test“ împreună cu fișierul creat anterior. După compilarea cu succes a codului, trebuie să executați următoarele instrucțiuni citate în terminal.

$ ./Test

Aici puteți vedea că toate cele trei funcții numite sunt înregistrate și funcționează cu succes.

Unele utilizări specifice ale funcției „atexit”:

Mai sus, am văzut un server Linux foarte cuprinzător care utilizează funcția atexit pentru a normaliza codul executat și am dorit starea atexit. Când mai multe funcții sunt înregistrate înainte de terminarea codului, trebuie să utilizați mai multe funcții atexit pentru a apela fiecare funcție înregistrată.

Concluzie:

Articolul, așa cum s-a menționat anterior, arată utilizarea funcției atexit în limbajul C. Am folosit compilatorul gcc pentru a compila exemplul de cod legat de funcția atexit din serverul Linux. În articolul de mai sus, există mai multe exemple pentru a înțelege utilizarea funcției atexit și cum funcționează în Linux. Acum tot ce trebuie să faceți este să profitați de acest articol pentru a utiliza funcția atexit pe serverul dvs. Linux.

Cum să capturați și să transmiteți în flux sesiunea de jocuri pe Linux
În trecut, jocurile erau considerate doar un hobby, dar cu timpul industria jocurilor a cunoscut o creștere imensă în ceea ce privește tehnologia și n...
Cele mai bune jocuri pentru a juca cu urmărirea manuală
Oculus Quest a introdus recent marea idee de urmărire manuală fără controlere. Cu un număr din ce în ce mai mare de jocuri și activități care execută ...
Cum se afișează suprapunerea OSD în aplicații și jocuri Linux pe ecran complet
Jucarea jocurilor pe ecran complet sau utilizarea aplicațiilor în modul ecran complet fără distragere vă poate elimina din informațiile relevante ale ...