Freigeben über


alloc_text

Namen des Codeabschnitts, in dem sich die angegebenen Funktionsdefinitionen befinden müssen. Das Pragma muss zwischen einem Funktionsdeklarator und der Funktionsdefinition für die benannten Funktionen auftreten.

#pragma alloc_text( "textsection", function1, ... )

Hinweise

Das alloc_text-Pragma verarbeitet keine C++-Memberfunktionen oder überladene Funktionen. Es ist nur auf Funktionen anwendbar, die mit C-Verknüpfung deklariert sind – d. h. Funktionen, die mit der extern "C"-Verknüpfungsspezifikation deklariert werden. Wenn Sie versuchen, diese Pragma für eine Funktion mit C++-Bindung zu verwenden, wird ein Compilerfehler generiert.

Da Funktionen, die mithilfe von __based adressieren, nicht unterstützt werden, erfordert die Angabe von Abschnittsspeicherorten die Verwendung des alloc_text-Pragmas. Der Name, der von textsection angegeben wird, muss in doppelte Anführungszeichen gesetzt werden.

Das alloc_text-Pragma muss nach den Deklarationen aller angegebenen Funktionen und vor den Definitionen dieser Funktionen angezeigt werden.

Die Funktionen, auf die in einem alloc_text-Pragma verwiesen wird, sollten in demselben Modul wie das Pragma definiert sein. Wenn dies nicht erfolgt ist und es wird eine nicht definierte Funktion später in einen anderen Textbereich kompiliert, ist ungewiss, ob der Fehler abgefangen wird. Obwohl das Programm in der Regel ordnungsgemäß ausgeführt wird, ist die Funktion nicht in den vorgesehenen Abschnitten zugeordnet.

Andere Einschränkungen für alloc_text lauten wie folgt:

  • Es kann nicht innerhalb einer Funktion verwendet werden.

  • Es muss verwendet werden, nachdem die Funktion deklariert wurde, aber bevor die Funktion definiert wurde.

Siehe auch

Referenz

Pragma-Direktiven und das __Pragma-Schlüsselwort