Funciones en C (y en la mayoría de cualquier otro lenguaje de programación ) son esenciales para el desarrollo y el mantenimiento de cualquier tipo de proyecto de codificación compleja. Funciones 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 tradicional o como funciones en línea , dependiendo de cómo el programador define la función . Para entender las funciones en línea estática , el programador debe entender como funciones en línea en comparación con las funciones regulares. Definiciones de función
Cuando un programador define una función , lo hace para definir un bloque de código en un punto. A menudo, el código de la función se utiliza reiteradamente , o realiza una tarea compleja que el programador puede querer modificar o cambiar en el futuro . El programador puede hacer referencia a esta función a través del 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 . El siguiente ejemplo muestra una función básica
int myFunc ()
{
regreso 2 3 ;
} .
< br > En línea funciones
Cuando las funciones se llaman en todos los programas , sin embargo , el código especial debe ser 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 una ubicación específica , separada de otra ejecución de código . Básicamente , esto significa que el código que se ejecuta debe moverse a una localización de memoria diferente , ejecute el código de la función, y luego volver al código original . Para optimizar la velocidad , C incluye la palabra clave "en línea" , que indica al compilador que copiar el código de la función en el código que se ejecuta cuando el nombre de la función es llamada , en lugar de obtener el código de función de la memoria.
< Br >
Inline funciones estáticas
Una función de "estática " indica al compilador que otros archivos de programa no pueden ver o acceder a la función . Sólo otras funciones desde el mismo archivo se puede ver una función estática . Por lo tanto , para declarar una función local sólo para el archivo del programador define todo, y optimizado para la velocidad por la que existe como una función inline , un programador podría utilizar las palabras clave " estáticas " y "en línea" para definir las funciones , como en este ejemplo .
estática inline void myFunc () {
/* código * /
Ejemplos
Usando las funciones en línea estática permite que múltiples archivos de C para utilizar los mismos nombres de las funciones a través de varios archivos . Por ejemplo, considere estos dos ejemplos de funciones. La primera función existe en " one.h " y la segunda en " two.h. " Debido a que las funciones son estáticos , que no entrarán en conflicto cuando la función se llama en un archivo u otro . Además , el compilador colocar el código para cada función directamente en el código de ejecución que , en lugar de hacer referencia a una función de la memoria .
//De one.h
estática en línea vacío myFunc ( ) {
/* código * /foto
} //desde two.h
estática inline void myFunc () {
/* código * /foto
}