Forum: PC-Programmierung function pointer auf inline function


von abc x. (enybase)


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!!

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Kommt auf den Compiler an. Inline sagt nur das er es inlinen kann 
nicht muß...

von Klaus W. (mfgkw)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.