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!!
Kommt auf den Compiler an. Inline sagt nur das er es inlinen kann nicht muß...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.