Tecnología

Inicio

Función C estático en línea

Función C estático en línea


Funciones en C (y en la mayoría de cualquier otro lenguaje de programación) son esenciales para el desarrollo y mantenimiento de cualquier tipo de proyecto de codificación compleja. Funciones de los bloques del nombre de código que realizan una tarea determinada, que puede ser llamado y utilizado por referencia el nombre de la función. En la programación C, las funciones pueden ejecutar ya sea tradicionalmente o como línea funciones, dependiendo de cómo el programador define la función. Para entender las funciones en línea estáticas, el programador debe entender cómo funciona en línea en comparación con las funciones regulares.

Las definiciones de funciones

Cuando un programador define una función, lo hace para definir un bloque de código en un solo lugar. A menudo, el código de la función se usa repetidamente, o realiza una tarea compleja que el programador puede querer modificar o cambiar en el futuro. Continuación, el programador puede hacer referencia a esa función durante todo el programa mediante el uso de su nombre. Esto permite la reutilización de código en el mismo programa o a través de múltiples programas. Este ejemplo siguiente se muestra una función básica.

int myFunc ()

{

volver 2 + 3;

}

Las funciones en línea

Cuando las funciones se llaman en todos los programas, sin embargo, se debe tener especial código escrito por el compilador para hacer referencia a la función. Esto se debe a que el código de función reside en la memoria en un lugar específico, separado de otro código de ejecución. Básicamente, esto significa que el código de ejecución debe mover a una ubicación de memoria diferente, ejecutar el código de la función, y luego de nuevo volver al código original. Para optimizar la velocidad, C incluye la palabra clave "en línea", que le indica al compilador para copiar el código de la función en el código que se ejecuta cuando el nombre de la función se llama, en lugar de obtener el código de la función de la memoria.

Inline funciones estáticas

Una función de "estática" le dice al compilador que otros archivos de programa no pueden ver o acceder a la función. Sólo otras funciones desde el mismo archivo puede ver una función estática. Por lo tanto, para declarar una función local sólo para el archivo del programador define en, y optimizado para la velocidad de existir como una función en línea, un programador podría utilizar las palabras clave y "estáticos" "en línea" para definir las funciones, como en este ejemplo .

inline void myFunc () {

/ Código /

Ejemplos

El uso de las funciones en línea estáticas permite que varios archivos de C para utilizar los mismos nombres de las funciones a lo largo de varios archivos. Por ejemplo, considere estos dos ejemplos de función. Existe la primera función en "one.h" y el segundo en "two.h." Debido a que las funciones son estáticas, que no entren en conflicto cuando se llama la función en un archivo u otra. Además, el compilador colocar el código para cada función directamente en el código de ejecución, en lugar de hacer referencia a una función de la memoria.

// Desde one.h

inline void myFunc () {

/ Código /

}

// Desde two.h

inline void myFunc () {

/ Código /

}