Suchergebnisse
Suchergebnisse 1-5 von insgesamt 5.
Aha, ok, ich werde mir einfach keine Gedanken mehr über inline machen, ich überlasse das einfach dem Compiler. Danke, euch allen! Ich wünsche noch einen guten Rutsch! Xtremebergi
Ja, das hab ich beim Disassemblen schon deutlich gemerkt. Denn wenn er inlined, macht er es auch wenn man kein inline davor schreibt und wenn nicht, dann auch nicht mit einem inline (nur mit einem __forceinline) Also irgendwie hat inline kaum einen Einfluss. Ok ich werde es in Zukunft einfach dem Compiler überlassen, und wenn wirklich zeitkritische Sachen zu machen sind, werde ich mir einfach die exe anschauen, ob er es macht oder nicht und wenn umbedingt nötig, ein __forceinline verwenden.
Ahaa! Das erklärt natürlich so einiges. Ok, nun bleiben noch 2 Fragen übrig: 1. Kann man LTCG in Visual C++ 2008 zu Testzwecken auch austellen? Ich sehe als Einstellungsmöglichkeiten nur verschiedene ltcg-Arten (Profile Guided Optimization), dann ein <inherit from parent or project defaults> und Default... 2. Wenn man LTCG an hat, sollte man beim Prototypen und/oder bei der Definition inline schreiben? Oder ist es egal, Hauptsache mindestens einmal? (Ich weiß, das hier geht schon sehr ins Detail...
Ja, mit Prototyp-Variante meinte ich bereits: 1. Prototyp 2. Aufruf 3. Implementation Noch einmal Verweis auf die Seite, deren Link ich oben geschrieben habe. Dort wird genau diese Reihenfolge verwendet, und laut Disassembling wird wirklich geinlined.
Hallo, zusammen! Auf Seite 96 in der Erklärung für inline-Funktionen steht geschrieben, dass der Compiler den Code der Funktion vor dem ersten Aufruf schon einmal gesehen haben muss, damit ein inline überhaupt erstmal in Frage kommt, also dass man für inline-Funktionen nicht die Prototyp-Variante verwenden kann. Hmm...irgendwie kommt mir das aber seltsam vor, denn Prototypen können auch inline markiert werden, auf folgender Seite werden inline-Funktionen sogar an einem Beispiel erklärt, welches ...