Эта статья требует дополнительных ссылок для проверки . ( сентябрь 2017 г. ) ( Узнайте, как и когда удалить это сообщение-шаблон ) |
В информатике , нулевая функция (или нулевой оператор ) является подпрограммой , которая оставляет госпрограмма без изменений. Когда она входит в набор инструкций о наличии процессора , это называется NOP или NOOP (бездействует).
Математически функция (компьютерная) имеет значение NULL тогда и только тогда, когда ее выполнение оставляет состояние программы неизменным. То есть, нулевая функция - это функция идентичности , домен и кодомен которой являются пространством состояний программы и для которой:
- для всех элементов .
Также можно встретить менее строгие определения. Например, функция может принимать единственный операнд, преобразовывать его в новый тип данных и возвращать результат. [1] Хотя такие способы использования имеют сильное визуальное сходство с функциями идентификации, они создают или изменяют значение двоичных данных и, таким образом, изменяют состояние программы. С точки зрения ремонтопригодности программного обеспечения лучше явно идентифицировать такие «незначительные» изменения состояния, поскольку их вызов нулевых функций не дает будущим разработчикам кода понимания их фактических целей.
Использует [ редактировать ]
Нулевые функции имеют несколько применений.
Во время разработки программного обеспечения нулевые функции с теми же именами и сигнатурами типов, что и запланированные функции, часто используются в качестве заглушек, то есть в качестве нефункциональных заполнителей, которые позволяют скомпилировать и протестировать неполный текст кода до завершения всех запланированных функций. .
Нулевые функции, особенно разновидность NOP, также используются для обеспечения задержек неопределенной длины в циклах ожидания . Это обычная стратегия в выделенных контроллерах устройств, которые должны ждать внешнего входа и не имеют других задач, которые нужно выполнять, пока они ждут. Такие циклы ожидания также используются в программных приложениях в более крупных многопроцессорных компьютерных системах. Однако для многопроцессорных систем лучшим подходом является использование функций операционной системы, которые позволяют другим процессам использовать ЦП в течение периода ожидания.
Третье использование нулевых функций - это определение функции программы, которая, если создается случайно, почти всегда является вредоносной. Непреднамеренные нулевые функции могут возникать во время разработки сложных программ, и, как и мертвый код , такие случаи указывают на серьезные недостатки в структуре программы.
Нулевые функция или метод часто используются в качестве поведения по умолчанию для обнаруживаемой функции или переопределяемого метода в объектной структуре.
См. Также [ править ]
Ссылки [ править ]
- ^ Примерфункции преобразования типа, помеченной как «нулевая функция»: _NULLF - нулевая функция.
Внешние ссылки [ править ]
- Алгоритм NULL-шифрования и его использование с IPsec . IETF . Ноябрь 1998 г. doi : 10.17487 / RFC2410 . RFC 2410 . Делает юмористические заявления об алгоритме шифрования NULL.