Funktionen in C ( und in den meisten anderen Programmiersprachen ) sind ein integraler Bestandteil der Entwicklung und Pflege jede Art von komplexen Codierung Projekt . Funktionen Namen Code-Blöcke , die eine bestimmte Aufgabe, die genannt und verwendet werden kann durch Verweis auf den Namen der Funktion durchzuführen. In der Programmiersprache C können Funktionen ausführen entweder traditionell oder als Inline-Funktionen , je nachdem, wie der Programmierer definiert die Funktion . Um statische Inline-Funktionen zu verstehen, sollte der Programmierer wissen, wie Inline-Funktionen zu regulären Funktionen zu vergleichen. Funktion Definitionen
Wenn ein Programmierer eine Funktion definiert , tut sie so , um einen Code-Block in einer Stelle zu definieren. Oft wird der Code in der Funktion wiederholt oder führt eine komplexe Aufgabe , dass die Programmierer können zu modifizieren oder zu ändern in der Zukunft. Der Programmierer können dann auf diese Funktion während des gesamten Programms durch ihren Namen . Dies ermöglicht die Wiederverwendung von Code in einem Programm oder für mehrere Programme . Das folgende Beispiel zeigt eine Grundfunktion
int myFunc () {
Rückkehr 2 +3 ;
} .
Inline-Funktionen
Wenn Funktionen während Programme genannt werden, müssen jedoch speziellen Code durch den Compiler , um die Funktion verweisen geschrieben werden. Dies liegt daran, Funktions-Code im Speicher befindet an einem bestimmten Ort , getrennt von anderen Code ausführen . Grundsätzlich bedeutet dies, dass das Ausführen von Code muss an einen anderen Speicherort verschieben , führen Sie den Code der Funktion , und dann wieder zurück auf den ursprünglichen Code . Um die Geschwindigkeit zu optimieren , enthält C die "inline" Schlüsselwort, das den Compiler , um den Code der Funktion in das Ausführen von Code , wenn der Name der Funktion aufgerufen wird, anstatt sich Funktionscode aus dem Speicher kopieren erzählt .
Inline statische Funktionen
"static "-Funktion weist den Compiler , dass andere Programmdateien nicht sehen können oder Zugriff auf die Funktion . Nur andere Funktionen aus der gleichen Datei können Sie eine statische Funktion. Deshalb, um eine Funktion nur lokal in der Datei der Programmierer definiert sie in erklären , und auf Geschwindigkeit optimiert durch bestehende als Inline-Funktion , würde ein Programmierer nutzen die "statischen" und "inline" Stichworte, um die Funktionen zu definieren, wie in diesem Beispiel .
static inline void myFunc () {
/* Code * /
Beispiele
Verwenden statischer Inline-Funktionen können mehrere C-Dateien verwenden die gleiche Funktion Namen in mehreren Dateien. Betrachten wir zum Beispiel diese beiden Beispiele Funktion . Die erste Funktion besteht in " one.h " und in der zweiten " two.h. " Da die Funktionen statisch sind , werden sie nicht in Konflikt geraten , wenn die Funktion in einer Datei oder einem anderen aufgerufen wird. Darüber hinaus wird der Compiler den Code für jede Funktion direkt in den Code platzieren Ausführung es , anstatt Verweisen auf eine Funktion aus dem Speicher.
//Ab one.h
static inline void myFunc () {
/* Code * /}
//ab two.h
static inline void myFunc () {
/* Code * /}