Im Bereich der Programmierung dienen Inline-Funktionen als Optimierungen zur Leistungssteigerung. Inline-Funktionen sind Vorschläge für den Compiler, die ihn dazu auffordern, die direkte Integration der Funktionsimplementierung in den Code des Aufrufers in Betracht zu ziehen und so den Funktionsaufruf-Overhead effektiv zu eliminieren. Es liegt jedoch im Ermessen des Compilers, der Inline-Anfrage nicht immer nachzukommen. Darüber hinaus erzeugen Inline-Funktionen in der Regel verknüpfbaren Objektcode.
Betrachten Sie statisches Inline, das im Hinblick auf optionales Funktions-Inlining ähnlich wie Inline funktioniert. Bei Inline-Einbindung wird jedoch kein verlinkbarer Objektcode erzeugt. Dies verhindert, dass andere Module eine Verknüpfung mit der Inline-Funktion herstellen.
Eintauchen in externe Inline
Wo passt externe Inline in dieses Schema? Extern Inline, vor allem in Compilern vor C99 wie GCC zu finden, verhält sich anders als Inline und statisches Inline.
Über C und C hinaus
Diese Unterscheidung gilt ausschließlich für C und C. In C hat sich die Bedeutung von inline weiterentwickelt und ähnelt extern inline in C89, ohne dass eine Out-of-line-Definition erforderlich ist.
Compiler-Variationen
Verschiedene Compiler-Anbieter und -Versionen können extern inline eigenwillig interpretieren. Spezifische Implementierungsdetails finden Sie in der Compiler-Dokumentation.
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen „inline', „static inline' und „extern inline' in C/C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!