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

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

Diferencia clave - MACRo vs en línea Función
 

Una macro es un fragmento de código, que es una directiva preprocesadora. Una función en línea es una función de mejora de C ++ para minimizar el tiempo de ejecución de un programa. Por lo tanto, la diferencia clave Entre la función macro y 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 precedido por un signo hash. Cuando hay el nombre de macro en el programa, se reemplaza por el contenido de la macro.

CONTENIDO

1. Descripción general y diferencia de claves
2. Que es macro
3. ¿Qué es la función en línea?
4. Comparación de lado a lado: la función macro vs en línea en forma tabular
5. Resumen

Que es macro?

El preprocesador es un programa que procesa el código fuente antes de pasar a través del compilador. Funciona utilizando la línea de comando preprocesador o las directivas. En el programa, las directivas 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 para las directivas del preprocesador. Las directivas preprocesador tienen el símbolo #. A diferencia de otras declaraciones, no terminan con un punto y coma. Un tipo de directiva del preprocesador es la macro. En general, las macros están escritas en mayúsculas.

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 de 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 en función, pero aquí está escrito usando una macro. Si hay una declaración como volumen = cubo (x+y), se expandirá a volumen = (x+y * x+y * x+y).

Algunos tokens de programación podrían estar fácilmente mistados. Se pueden reemplazar usando macros. mi.gramo. #define y &&, #define o ||. Una definición macro también puede incluir expresiones como el área #define 4*5.56.

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

Cuando se llama a una función, el compilador tarda un 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 siguiente programa.

Figura 02: función sin en línea

El print_hello es una función simple. Imprime la cadena "hola" cuando se llama a la función.  El tiempo de ejecución para esa función es 0.187. Cuando se usa la palabra clave en línea de la siguiente manera, el tiempo de ejecución se reduce a 0.064S.

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. Las funciones en línea pueden no funcionar si hay bucles, declaraciones de conmutador 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??

Macro vs función en línea

Una macro es un fragmento de código, que es una directiva preprocesadora que se incluye al comienzo del programa precedido por un signo hash. Una función en línea es una función 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 verifica 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 usar para definir constantes, expresiones, para la sustitución del 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 el aparato ortopédico rizado al final de la función en línea.
Punto definitorio
Un marco se define al comienzo del programa. Una función en línea puede estar dentro o fuera de la clase.

Resumen - MamáCRo vs en línea Función

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

Referencia:

1."Directivas del pre procesador."Cplusplus.comunicarse. Disponible aquí 
2."C Funciones en línea C." Www.punto de tutorial.com, tutorials Point, 19 mar. 2018. Disponible aquí