Megjegyzés: Az ubuntu 20-at fogjuk használni.04 az adott folyamat és annak atexit funkciójának végrehajtására.
Az atexit funkció működése:
Ez az létező funkció regisztrálja azt a függvényt, amelyet a fő folyamatban meg akar hívni. A program normál leállását okozza. A végrehajtás után, ha 0-val tér vissza, az azt jelenti, hogy a függvényhívás sikeres. Ha -1 vagy bármely más értéket ad vissza, akkor az atexit függvény nem hívta meg a regisztrált függvényt, ha bármilyen nyílt forráskódú fájl megnyílt. Ezzel szemben a befejezés, atexit funkció a végrehajtáskor bezárja az összes fájlt.
1. lépés: Hozzon létre egy szövegszerkesztőt a program megírásához:
Az atexit funkció végrehajtása előtt először is létre kell hoznia egy C nyelvi programot a Linux kiszolgáló szövegszerkesztőjében, a következő parancs használatával a Linux terminálon.
$ gedit
A „gedit” segédprogram megnyitása egy ideig eltart, majd ezt követően azonnal használhatja. Lehetővé teszi egy szövegszerkesztő megnyitását, amelybe beírhatja a kódot. A szövegszerkesztő az alábbi képhez hasonlóan jelenik meg:
2. lépés: kódoljon egy C programot az atexit funkció használatával a Szerkesztőben:
Az atexit függvény használatához először is egy egyszerű C nyelvi kódot kell írnia a függvény alkalmazásához. Az alábbi képen van egy C nyelvi kód, amelyben két funkció van, az egyik a fő osztályba tartozik, a másik pedig az atexist függvényhívásba van bejegyezve.
Mentse el ezt a fenti képkódot bármilyen névvel a kiterjesztési kód segítségével.c. Ez a formátum azt mutatja, hogy ez egy C nyelvi kód, és lehetővé teszi az alábbi C nyelv funkcióinak és könyvtárának bemutatását.
3. lépés: Végezze el a folyamatot a program kimenetének ellenőrzéséhez:
A kód végrehajtásához először is vissza kell térnie a Linux szerver termináljára. A végrehajtáshoz meg kell adnia a „gcc -o test” parancsot és a létrehozott C fájl nevét. Itt van az alábbi parancs:
$ gcc -o tesztkód.c
Ez hibát jelez, ha a gcc fordító nincs telepítve a rendszerbe.
Most telepítenie kell a gcc-t az „sudo apt install gcc” parancs megadásával a Linux terminálon, az alábbiak szerint:
Az Enter billentyű lenyomásával megkezdi a gcc telepítését a Linux szerverre. Ez eltart egy ideig; ezután arra kéri, hogy adja meg az igent / nemet. Igent kell beírnia; akkor megkezdi a gcc fordító letöltésének folyamatát az alábbi képen látható módon:
Amint telepítette a gcc fordítót Linux szerverére, sikeresen lefordíthatja benne a kódját. A végleges kimenet megszerzéséhez a. / teszt parancs az alábbiak szerint:
Ez a parancs megjeleníti a kód kimenetét. A kód kimenetét az alább idézett képen tekintheti meg.
Amint a fentiekből látható, az „Existing Sikeresen” a létrehozott függvény, amelyet az atexit függvény regisztrált és meghívott a program fő kódjában. Ez a kimenet azt mutatja, hogy a funkció sikeresen regisztrálva van. Ha nincs regisztrálva, akkor a kimenetet -1-nek adja.
Egy másik példa a több regisztrált függvényt használó atexit funkcióra:
Ha tisztábban szeretné tudni, hogy ez a függvény hogyan működik, akkor lehet egy másik példája, amely más kódfuttatást tartalmaz. Ismételje meg ugyanazt a folyamatot a fent említett kód megírásához, a „gedit” paranccsal nyissa meg a szövegszerkesztőt, és a kód megírása után mentse el bármilyen névvel, megemlítve a .c kiterjesztés. Amint az az alábbi képen látható, láthatja, hogy a több funkciót atexit függvény hívja meg ugyanabban a programban.
A fenti képen három üres függvény meghívása és regisztrálása látható a főkódban található atexit függvény használatával. A kód kimenetének megszerzéséhez ugyanazt a parancsot kell végrehajtania, mint korábban említettük. Nyissa meg a Linux kiszolgáló terminálját, és hajtsa végre a „gcc -o test” parancsot, valamint a korábban létrehozott fájlt. A kód sikeres összeállítása után a terminálon végre kell hajtania az alábbi idézett utasítást.
$ ./teszt
Itt láthatja, hogy mindhárom hívott funkció regisztrálva van és sikeresen működik.
Az „atexit” funkció néhány speciális felhasználása:
A fentiekben egy nagyon átfogó Linux kiszolgálót láttunk, amely az atexit függvényt használja a futtatott kód normalizálására és a kívánt atexit állapotra. Ha több funkciót regisztráltak a kód megszüntetése előtt, akkor több atexit függvényt kell használnia minden regisztrált függvény meghívásához.
Következtetés:
A cikk, amint azt korábban említettük, bemutatja az atexit függvény használatát a C nyelven. A gcc fordító segítségével fordítottuk le az atexit függvényhez tartozó példakódot a Linux szerveren. A fenti cikkben számos példa található az atexit függvény használatának megértésére és működésére a Linuxban. Most már csak annyit kell tennie, hogy kihasználja ezt a cikket az atexit funkció használatához a Linux szerveren.