11.Сопоставление макрокоманд и функций
Начинающих
программистов часто затрудняет вопрос
о выборе применения макрокоманд или
функций в силу сходства их использования.
Как известно, всякий раз, когда в
программевстречается вызов макрокоманды,
препроцессор заменяет его операторами
макрокоманды (макрорасширением). Таким
образом, если в программе макрокоманда
используется 15 раз, то программа будет
содержать 15 различных копий набора
операторов макрокоманды. В результате
-увеличение размера выполняемой
программы. С другой стороны, при
использовании функции в программе
содержится только одна копия кода этой
функции, несмотря на множество обращений
к ней. При выполнении функции организуется
передача управления (переход) к коду
функции. Однако, недостатком использования
функций является то, что при каждом
вызове функции имеет место дополнительная
обработка, которая несколько замедляет
выполнение функции по сравнению с
макровызовом. Таким образом, если
требуется быстрое выполнение, то
эффективнее использовать макрокоманды.
Однако, если приходится заботиться о
компактности кода программы, нужно
использовать функции.