Примечание: мы будем использовать ubuntu 20.04 для выполнения конкретного процесса и его функции выхода.
Работа функции atexit:
Эта функция atexist зарегистрирует функцию, которую вы хотите вызвать в основном процессе. Это вызывает нормальное завершение программы. После выполнения, если он возвращает 0, это означает, что вызов функции выполнен успешно. Если он возвращает -1 или любое другое значение, функция atexit не смогла вызвать зарегистрированную функцию, если открыт какой-либо файл с открытым исходным кодом. Напротив, завершение, функция atexit закроет все эти файлы во время выполнения.
Шаг №1: Создайте текстовый редактор для написания программы:
Перед выполнением функции atexit, во-первых, вы должны создать программу на языке C в текстовом редакторе вашего сервера Linux, используя следующую команду на вашем терминале Linux.
$ gedit
Утилита «gedit» откроется через некоторое время, после чего вы сразу же сможете ее использовать. Это позволит открыть текстовый редактор, в котором вы можете написать свой код. Текстовый редактор будет выглядеть, как на изображении ниже:
Шаг № 2: Создайте программу на C с помощью функции atexit в текстовом редакторе:
Для использования функции atexit, во-первых, вы должны написать простой код на языке C, чтобы применить в нем функцию. На приведенном ниже изображении есть код языка C, в котором есть две функции: одна находится в основном классе, а другая зарегистрирована в вызове функции atexist.
Сохраните этот код изображения выше с любым именем, используя код расширения.c. Этот формат показывает, что это код языка C, и он позволяет вам показать функции и библиотеку языка C, приведенного ниже, в качестве примера.
Шаг № 3: Выполните процесс, чтобы проверить вывод программы:
Чтобы выполнить код, во-первых, вам нужно вернуться в терминал Linux-сервера. Для выполнения вам необходимо дать команду «gcc -o test» и имя созданного файла C. Вот команда ниже:
$ gcc -o тестовый код.c
Это покажет вам ошибку, если компилятор gcc не установлен в вашей системе.
Теперь вам нужно установить gcc, введя команду «sudo apt install gcc» на вашем терминале Linux, как показано ниже:
Нажав клавишу ввода, он начнет установку gcc на вашем сервере Linux. Это займет некоторое время; после этого он попросит вас ввести да / нет, в это время. Вы должны ввести да; тогда он начнет показывать прогресс загрузки компилятора gcc, как показано на изображении ниже:
Как только вы установили компилятор gcc на свой Linux-сервер, вы можете успешно скомпилировать в нем свой код. Для получения окончательного результата вы должны использовать. / test, как показано ниже:
Эта команда отобразит вывод вашего кода. Вы можете просмотреть вывод своего кода на приведенном ниже изображении.
Как показано выше, «успешно существует» - это созданная функция, зарегистрированная и вызываемая функцией atexit в основном коде программы. Этот вывод показывает, что функция успешно зарегистрирована. Если он не зарегистрирован, он выдаст результат как -1.
Другой пример функции atexit, использующей несколько зарегистрированных функций, которые будут вызываться:
Чтобы лучше понять, как работает эта функция, у вас может быть другой пример с другим исполнением кода. Повторите тот же процесс, чтобы написать код, как указано выше, используя команду «gedit», чтобы открыть текстовый редактор, и после написания кода сохраните его под любым именем, указав .c расширение. Как показано на изображении ниже, вы можете видеть, что несколько функций вызываются функцией atexit в одной программе.
На изображении выше вы можете видеть, что три пустые функции вызываются и регистрируются с помощью функции atexit в основном коде. Чтобы получить вывод этого кода, вы должны выполнить ту же команду, что упоминалось ранее. Откройте терминал вашего Linux-сервера и выполните команду «gcc -o test» вместе с файлом, который был создан ранее. После успешной компиляции кода вы должны выполнить следующую указанную инструкцию в терминале.
$ ./контрольная работа
Здесь вы можете увидеть, что все три вызываемые функции зарегистрированы и успешно работают.
Некоторые особенности использования функции «atexit»:
Выше мы видели очень полный Linux-сервер, использующий функцию atexit для нормализации выполняемого кода, и получили желаемый статус atexit. Когда несколько функций зарегистрированы до завершения кода, вы должны использовать несколько функций atexit для вызова каждой зарегистрированной функции.
Заключение:
В статье, как упоминалось ранее, показано использование функции atexit на языке Си. Мы использовали компилятор gcc для компиляции кода примера, относящегося к функции atexit на сервере Linux. В приведенной выше статье есть несколько примеров, чтобы понять использование функции atexit и то, как она работает в Linux. Теперь все, что вам нужно сделать, это воспользоваться этой статьей, чтобы использовать функцию atexit на вашем сервере Linux.