Funzione C statico in linea

August 7

Funzione C statico in linea


Le funzioni in C (e nella maggior parte qualsiasi altro linguaggio di programmazione) sono parte integrante di sviluppare e mantenere qualsiasi tipo di progetto di codifica complessa. Funzioni nome blocchi di codice che eseguono un certo compito, che può essere chiamato e usate da riferimento il nome della funzione. Nella programmazione C, funzioni possono attivare tradizionalmente o come linea funzioni, a seconda di come il programmatore definisce la funzione. Per capire le funzioni inline statiche, il programmatore deve capire come funzioni inline confronta con funzioni regolari.

Definizione di funzioni

Quando un programmatore definisce una funzione, lo fa per definire un blocco di codice in un punto. Spesso, il codice nella funzione viene utilizzata ripetutamente, o esegue un compito complicato il programmatore può decidere di modificare o cambiare in futuro. Il programmatore può quindi fare riferimento a tale funzione in tutto il programma utilizzando il suo nome. Questo permette il riutilizzo del codice nello stesso programma o in più programmi. Questo esempio seguente mostra una funzione di base.

int myFunc ()

{

ritorno 2 + 3;

}

funzioni inline

Quando le funzioni vengono chiamate in tutta programmi, tuttavia, codice speciale deve essere scritto dal compilatore per fare riferimento alla funzione. Questo è perché il codice funzione risiede nella memoria in un luogo specifico, separato da altro codice di esecuzione. In pratica, questo significa che il codice di esecuzione deve spostarsi in una posizione di memoria diversa, eseguire il codice della funzione, e poi tornare al codice originale. Per ottimizzare la velocità, C include la parola chiave "inline", che dice al compilatore di copiare il codice della funzione nel codice in esecuzione quando il nome della funzione viene chiamata, invece di ottenere codice funzione dalla memoria.

In linea funzioni statiche

Una funzione "statico" dice al compilatore che altri file di programma non possono vedere o accedere alla funzione. Solo altre funzioni dallo stesso file possono vedere una funzione statica. Pertanto, per dichiarare una funzione locale solo per il file il programmatore definisce in, e ottimizzato per la velocità di esistere come una funzione inline, un programmatore potrebbe utilizzare le e le parole chiave "statiche" "in linea" per definire le funzioni, come in questo esempio .

inline static void myFunc () {

/ Code /

Esempi

Utilizzando le funzioni inline statiche consente a più file C di utilizzare gli stessi nomi delle funzioni in tutto più file. Ad esempio, considerare questi due esempi di funzioni. La prima funzione esiste in "one.h" e la seconda in "two.h." Perché le funzioni sono statici, non saranno in conflitto quando la funzione viene chiamata in un file o in un altro. Inoltre, il compilatore inserire il codice per ogni funzione direttamente nel codice di esecuzione, anziché riferimento a una funzione dalla memoria.

// Da one.h

inline static void myFunc () {

/ Code /

}

// Da two.h

inline static void myFunc () {

/ Code /

}