70 - Modificador inline en la definición de funciones


El lenguaje C se utiliza fundamentalmente en el desarrollo de software de base: sistemas operativos, navegadores web, gestores para visualizar videos, procesadores de texto etc.

Es fundamental que este tipo de programas utilice en forma muy eficiente los recursos de la computadora donde se ejecuta.

Hemos visto que es responsabilidad del programador acceder correctamente a las componentes de un vector, gestionar la administración de la memoria etc.

Otra herramienta más en busca de hacer que nuestro programa sea lo más eficiente es permitirnos indicar al compilador que una función se inserte su código en lugar de ser llamada.

Para indicar al compilador que inserte el algoritmo de la función se utiliza la palabra clave inline previo a la definición de la misma.

El modificador inline se hace fundamentalmente en funciones que realizan algoritmos muy cortos.

Problema 1:

Confeccionar una función que retorne el cuadrado de un número. Indicar que dicha función sea de tipo inline

Archivo: programa215.c

Ver video

#include<stdio.h>
#include<conio.h>

static inline int calcularCuadrado(int x)
{
    return x * x;
}

int main() {
    printf("El cuadrado de 5 es: %i", calcularCuadrado(5));
    getch();
    return 0;
}

Con el modificador inline en la definición calcularCuadrado estamos solicitando al compilador que en lugar de llamar a la función sustituya el algoritmo de la misma, como si nosotros hubiéramos codificado:

    printf("El cuadrado de 5 es: %i", 5 * 5);

Ahorrarse el llamado a una función hace que nuestro programa se ejecute en forma más rápida.

Si consultamos el código fuente del sistema operativo Linux en muchos de sus archivos encontraremos definición de funciones inline:

funciones inline en el código fuente linux

Retornar