function pointer auf inline function

#1694366
Lesenswert?

Hallo,

wenn man einen function pointer auf eine inline-function zeigen lässt,
würde dann beim Aufruf dieser Funktion per function pointer
das "inline" evtl. vom compiler ignoriert werden??

(oder geht das evtl. gar nicht, hab ich noch nicht probiert..)

Wäre die function pointer Verwendung dann langsamer als wenn man die 
Funktion direkt und inline aufruft????

Danke!!
#1694493
Lesenswert?

In so einem Fall wird der Compiler doppelt nähen:
Falls die Funktion nicht zu groß ist, wird sie bei "normalen"
Aufrufen inline expandiert.
Trotzdem wird die Funktion auch normal kompiliert, deren Adresse
wird dann verwendet für den Zeiger.
D.h. bei einem Aufruf über den Zeiger hat man nichts vom inline.

Das komplette Kompilieren kann der Compiler nur weglassen,
wenn man erstens keinen Zeiger auf die Funktion verwendet, und
zweitens die Funktion static deklariert, damit sicher niemand
sie von außen aufruft.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren