noinline

Microsoft-spezifisch

__declspec(noinline) weist den Compiler an, niemals eine bestimmte Memberfunktion (Funktion in einer Klasse) inline zu verwenden.

Es lohnt sich möglicherweise, eine Funktion nicht inline auszuführen, wenn die Funktion klein und für die Leistung des Codes nicht wichtig ist. Das ist der Fall, wenn die Funktion klein ist und wahrscheinlich nicht häufig aufgerufen wird, z. B. eine Funktion, die eine Fehlerbedingung behandelt.

Denken Sie daran, dass die aufrufende Funktion, wenn eine Funktion markiert noinlineist, kleiner und somit selbst ein Kandidat für die Compilerinlining ist.

class X {
   __declspec(noinline) int mbrfunc() {
      return 0;
   }   // will not inline
};

Ende Microsoft-spezifisch

Siehe auch

__declspec
Schlüsselwörter
inline, __inline, __forceinline