C Програмування

Як користуватися функцією ATEXIT мовою C.

Як користуватися функцією ATEXIT мовою C.
Якщо ви виконуєте процес у своїй операційній системі Linux і все, що ви хочете мати нормальне завершення процесу, ви повинні використовувати функцію atexit у своєму коді. Функція atexit дозволяє зареєструвати функцію, яка використовується для виклику в звичайному завершенні процесу перед виконанням коду. Це функція бібліотеки C. Якщо ця функція викликається кілька разів, кожен виклик визначає іншу функцію atexit. Всі вони реалізовані у зворотному порядку у вигляді стека (i.e., остання заявлена ​​функція - перша, що виконується при виході). У цій статті ми поговоримо з вами про методи цього.

Примітка: Ми будемо використовувати ubuntu 20.04 для виконання конкретного процесу та його функції виходу.

Робота атекситної функції:

Ця атексистна функція зареєструє функцію, яку ви хочете викликати в основному процесі. Це спричиняє нормальне припинення роботи програми. Після виконання, якщо воно повертає 0, це означає, що виклик функції успішний. Якщо воно повертає -1 або будь-яке інше значення, функція atexit не змогла викликати зареєстровану функцію, якщо відкрито будь-який файл із відкритим кодом. На відміну від цього, функція завершення, atexit закриє всі ці файли під час виконання.

Крок 1. Створіть текстовий редактор для написання програми:

Перш ніж виконувати функцію atexit, по-перше, ви повинні створити програму на мові C у текстовому редакторі вашого сервера Linux, використовуючи таку команду на вашому терміналі Linux.

$ gedit

Відкриття утиліти «gedit» займе деякий час, після чого ви зможете нею скористатися негайно. Це дозволить відкрити текстовий редактор, в якому ви можете написати свій код. Текстовий редактор буде виглядати так, як зображено нижче:

Крок 2. Кодування програми C, використовуючи функцію atexit у текстовому редакторі:

Для використання функції atexit, по-перше, вам потрібно написати простий код мови C, щоб застосувати функцію до нього. На наведеному нижче зображенні є код мови C, в якому є дві функції, одна з них знаходиться в основному класі, а інша зареєстрована у виклику функції atexist.

Збережіть цей наведений вище код зображення з будь-яким ім'ям за допомогою розширення.c. Цей формат показує, що це код мови С, і він дозволяє показати функції та бібліотеку мови С нижче, наведеному на прикладі.

Крок №3: Виконайте процес перевірки результату роботи програми:

Для виконання коду, по-перше, вам потрібно повернутися до терміналу сервера Linux. Для виконання вам потрібно дати команду “gcc -o test” та ім’я створеного файлу C. Ось команда нижче:

$ gcc -o тестовий код.c

Це покаже вам помилку, якщо компілятор gcc не встановлений у вашій системі.

Тепер вам потрібно встановити gcc, давши команду “sudo apt install gcc” на вашому терміналі Linux, як показано нижче:

Натиснувши клавішу Enter, він почне встановлювати gcc на ваш сервер Linux. Це займе трохи часу; після цього він попросить вас ввести так / ні в той час. Ви повинні ввести так; тоді він почне відображати хід завантаження компілятора gcc, як показано на малюнку нижче:

Як тільки ви встановите компілятор gcc на ваш сервер Linux, ви зможете успішно скомпілювати в ньому свій код. Для отримання остаточного результату вам потрібно використовувати. / тест команди, як показано нижче:

Ця команда відобразить результат вашого коду. Ви можете переглянути вихідний код свого коду на зображенні, процитованому нижче.

Як показано вище, “Існуюча Успішно” - це створена функція, зареєстрована та викликана функцією atexit в основному коді програми. Цей результат показує, що функція зареєстрована успішно. Якщо його не зареєструвати, результат буде виданий як -1.

Інший приклад функції atexit із використанням декількох зареєстрованих функцій, які потрібно викликати:

Щоб чіткіше знати, як працює ця функція, ви можете навести інший приклад з іншим виконанням коду. Повторіть той самий процес, щоб написати код, як згадано вище, за допомогою команди «gedit», щоб відкрити текстовий редактор, і після написання коду збережіть його з будь-яким ім'ям, згадавши .c розширення. Як показано на зображенні нижче, ви можете бачити, що безліч функцій викликаються функцією atexit в одній програмі.

На зображенні вище ви можете побачити три порожні функції, які викликаються та реєструються за допомогою функції atexit у головному коді. Щоб отримати вихідні дані цього коду, вам слід виконати ту саму команду, що була згадана раніше. Відкрийте термінал свого сервера Linux і виконайте команду «gcc -o test» разом із файлом, який було створено раніше. Після успішної компіляції коду вам доведеться виконати наступну цитовану інструкцію в терміналі.

$ ./ тест

Тут ви можете побачити, що всі три викликані функції зареєстровані та працюють успішно.

Деякі конкретні напрямки використання функції „atexit”:

Вище ми бачили дуже всеосяжний сервер Linux, що використовує функцію atexit для нормалізації виконуваного коду і бажаний статус atexit. Коли кілька функцій зареєстровано до закінчення коду, вам потрібно використовувати кілька функцій atexit, щоб викликати кожну зареєстровану функцію.

Висновок:

Як згадувалося раніше, у статті показано використання функції atexit у мові C. Ми використали компілятор gcc для компіляції прикладу коду, пов’язаного з функцією atexit на сервері Linux. У наведеній вище статті є кілька прикладів, що дозволяють зрозуміти, як використовується функція atexit та як вона працює в Linux. Тепер вам залишається лише скористатися цією статтею, щоб використовувати функцію atexit на вашому сервері Linux.

Як збільшити FPS в Linux?
FPS означає Кадри в секунду. Завданням FPS є вимірювання частоти кадрів при відтворенні відео або ігрових виставах. Простими словами кількість безпере...
Найкращі лабораторні ігри Oculus App
Якщо ви є власником гарнітури Oculus, то вам потрібно дізнатися про бокове завантаження. Бокове завантаження - це процес встановлення негарнітного вмі...
Top 10 Games to Play on Ubuntu
Windows platform has been one of the dominating platforms for gaming because of the huge percentage of games that are developing today to natively sup...