0 Tage Serie
c / intermediate
Snippet

Inline-Funktionen für Performance

Das Schlüsselwort 'inline' ist ein Hinweis an den Compiler, Funktionsaufrufe durch den tatsächlichen Funktionskörper zu ersetzen. Dies eliminiert den Overhead eines Funktionsaufrufs (Stack-Manipulation, Sprünge) für kleine, häufig genutzte Funktionen und kann die Ausführungsgeschwindigkeit verbessern.

snippet.c
c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
// Suggests to the compiler to integrate the code directly at call sites
static inline int max(int a, int b) {
return (a > b) ? a : b;
}
int main() {
int x = 42, y = 15;
// The compiler might replace the call with: int result = (42 > 15) ? 42 : 15;
int result = max(x, y);
printf("Max value: %d\n", result);
return 0;
}
Erklärung
1
static inline int max(...)
Deklariert eine Funktion als inline; 'static' wird oft verwendet, um den Scope auf die aktuelle Übersetzungseinheit zu beschränken.
2
return (a > b) ? a : b;
Kleine Logik, die sich gut für Inlining eignet, da sie rechentechnisch günstig ist.