Wie gut inlined der VC++
-
Hiho,
ich habe mal ne Frage zur Optimierung im VC++.
Wenn ich eine Funktion/Methode inlinen will, muss ich ja die Definition in der h-Datei stehen haben und nicht in der cpp-Datei.
Ist das bei den neueren Compilern immer noch so, oder können die beim Optimieren auch Funktionen die in der h-Datei nur deklariert und in der cpp-Datei definiert sind, inlinen?MfG Pellaeon.
-
Probier es doch aus
-
Und wie?
Ich kann das inline in beiden Fällen schreiben. Aber ob der Compiler es umsetzt oder ignoriert, wie soll ich das rausfinden?
-
Pellaeon schrieb:
Und wie?
Ich kann das inline in beiden Fällen schreiben. Aber ob der Compiler es umsetzt oder ignoriert, wie soll ich das rausfinden?Schalt ASM-Output an und schau nach.
-
Pellaeon schrieb:
Ich kann das inline in beiden Fällen schreiben.
Wenn du es in der .cpp schreibst bekommst du aber Linkerfehler, wenn du die Funktion in einer anderen Übersetzungseinheit aufrufst.
-
Lies mal:
http://msdn.microsoft.com/en-us/library/0zza0de8.aspx
und
http://msdn.microsoft.com/en-us/library/z8y1yy88.aspx
-
Pellaeon schrieb:
Und wie?
Ich kann das inline in beiden Fällen schreiben. Aber ob der Compiler es umsetzt oder ignoriert, wie soll ich das rausfinden?Compilieren, Breakpoint an die betreffende Stelle setzen, Debug-Session starten, "Disassembly" Fenster einblenden -> fertig.