• Lunes 18 de Noviembre de 2024, 03:29

Autor Tema:  Diferencias...  (Leído 803 veces)

ifmaster

  • Miembro activo
  • **
  • Mensajes: 51
    • Ver Perfil
Diferencias...
« en: Domingo 18 de Julio de 2004, 11:42 »
0
Pues a ver si alguien sabe la diferencia entre funciones, funciones en linia (inline) y macros, que diferencia hay entre ellas a nivel de rendimiento del programa y cuando devo usar una o otra :P
 :question: :ayuda:

Ruben3d

  • Miembro HIPER activo
  • ****
  • Mensajes: 710
  • Nacionalidad: es
    • Ver Perfil
    • Web personal
Re: Diferencias...
« Respuesta #1 en: Domingo 18 de Julio de 2004, 13:02 »
0
Hola.

Una función es un fragmento de código al que se salta con una llamada y se pasan los parámetros por la pila. Una macro es un bloque de código que es insertado donde sea usado por el preprocesador, pero carece de chequeo de sintaxis y tipos. Una función inline es como una macro para C++, pero se resuelve en tiempo de compilación, por lo que tiene chequeo de sintaxis y tipos (aunque es menos flexible que una macro).

En cuestión de velocidad, lo más rápido son las funciones inline y las macros, pero hacen que el tamaño del programa sea muy grande, ya que se repite el código encada lugar en donde sea utilizado (además, las macros tienen el problema añadido de que no se comprueba su corrección hasta la sustitución en el código).

Un saludo.

Ruben3d