Diferencia Entre La Función Macro Y En Línea

Tabla de contenido:

Diferencia Entre La Función Macro Y En Línea
Diferencia Entre La Función Macro Y En Línea

Vídeo: Diferencia Entre La Función Macro Y En Línea

Vídeo: Diferencia Entre La Función Macro Y En Línea
Vídeo: Aprende Macros en Excel en Menos de 11 Minutos 2024, Noviembre
Anonim

Diferencia clave: función macro frente a en línea

Una macro es un fragmento de código, que es una directiva de preprocesador. Una función en línea es una característica de mejora de C ++ para minimizar el tiempo de ejecución de un programa. Por lo tanto, la diferencia clave entre Macro y Función en línea es que el preprocesador verifica una macro mientras que el compilador verifica una función en línea.

Se incluye una macro al comienzo del programa precedida por un signo de almohadilla. Cuando existe el nombre de la macro en el programa, se reemplaza por el contenido de la macro.

CONTENIDO

1. Descripción general y diferencia clave

2. Qué es la macro

3. Qué es la función en línea

4. Comparación lado a lado: función macro frente a función en línea en forma tabular

5. Resumen

¿Qué es Macro?

El preprocesador es un programa que procesa el código fuente antes de que pase por el compilador. Opera usando la línea de comando del preprocesador o las directivas. En el programa, las directivas del preprocesador se colocan en el programa fuente antes del programa principal. Antes de que el código fuente pase por el compilador, el preprocesador lo verifica en busca de directivas de preprocesador. Las directivas del preprocesador tienen el símbolo #. A diferencia de otras declaraciones, no terminan con punto y coma. Un tipo de directiva de preprocesador es la macro. Generalmente, las macros se escriben en mayúsculas.

Diferencia entre la función macro y en línea
Diferencia entre la función macro y en línea

Figura 01: Programa C ++ con macros

Según el programa anterior, la línea 3 y la línea 4 indican macros. Al calcular el área, el valor PI se sustituye utilizando la macro definida. En la línea 14, volumen = CUBO (valor), el preprocesador expande la declaración como volumen = (valor * valor * valor). Encontrar el cubo se puede escribir como una función, pero aquí se escribe usando una macro. Si hay una declaración como volumen = CUBO (x + y), entonces se expandirá a volumen = (x + y * x + y * x + y).

Algunos tokens de programación se pueden escribir mal fácilmente. Se pueden reemplazar mediante macros. por ejemplo, #define AND &&, #define OR ||. Una definición de macro también puede incluir expresiones como #define AREA 4 * 5.56.

¿Qué es la función en línea?

Cuando se llama a una función, el compilador tarda algún tiempo en ejecutarla. Si la función no es muy compleja, el programador puede convertir la función en una función en línea. Consulte el programa a continuación.

Diferencia entre macro y función en línea Figura 2
Diferencia entre macro y función en línea Figura 2

Figura 02: Función sin Inline

Print_hello es una función simple. Imprime la cadena "Hola" cuando se llama a la función. El tiempo de ejecución de esa función es de 0,187 s. Cuando se usa la palabra clave en línea de la siguiente manera, el tiempo de ejecución se reduce a 0.064 s.

Diferencia clave entre la función macro y en línea
Diferencia clave entre la función macro y en línea

Figura 03: Función en línea

Por lo tanto, al usar la palabra clave en línea, el tiempo de ejecución se reduce. Es posible que las funciones en línea no funcionen si hay bucles, instrucciones de cambio y si la función contiene variables estáticas o funciones recursivas.

¿Cuál es la diferencia entre la función macro y en línea?

Diferencia del medio del artículo antes de la mesa

Función macro vs en línea

Una macro es un fragmento de código, que es una directiva de preprocesador que se incluye al principio del programa precedida por un signo de almohadilla. Una función en línea es una característica de mejora de C ++ para minimizar el tiempo de ejecución de un programa.
Tiempo de evaluación
En macro, el argumento se evalúa cada vez que se usa en el programa. En línea, el argumento se evalúa una vez.
Revisado por
El preprocesador comprueba una macro. El compilador verifica una función en línea.
Palabra clave
Marco usa #define. La función en línea utiliza la palabra clave 'en línea'.
Uso
La macro se puede utilizar para definir constantes, expresiones, para la sustitución de texto literal y para definir funciones, etc. Se puede utilizar una función en línea para minimizar el tiempo de ejecución del programa.
Terminación
Macro termina con la nueva línea. La función en línea termina con la llave al final de la función en línea.
Punto de definición
Un Marco se define al comienzo del programa. Una función en línea puede estar dentro o fuera de la clase.

Resumen: función macro vs función en línea

Este artículo discutió la diferencia entre Macro e Inline Function. Estos conceptos se utilizan en la programación C ++. La diferencia entre macro y función en línea es que el preprocesador verifica una macro mientras que el compilador verifica una función en línea.

Recomendado: