alloc_text
pragma
Designa la sección de código donde se colocan las definiciones de función especificadas. La directiva pragma debe aparecer entre un declarador de función y la definición de función de las funciones designadas.
Sintaxis
#pragma alloc_text(
"text-section",
function_1 [,
function_2 ... ])
Comentarios
La directiva alloc_text
pragma no controla funciones miembro de C++ ni funciones sobrecargadas. Solo es aplicable a las funciones declaradas con vinculación de C, es decir, funciones declaradas con la especificación de vinculación extern "C"
. Si intenta utilizar esta directiva pragma en una función con vinculación de C++, se generará un error del compilador.
Puesto que el direccionamiento de funciones mediante __based
no se admite, especificar ubicaciones de sección requiere el uso de la directiva alloc_text
pragma. El nombre especificado por text-section se debe incluir entre comillas dobles.
La directiva alloc_text
pragma debe aparecer después de las declaraciones de las funciones especificadas y antes de las definiciones de estas funciones.
Las funciones a las que se hace referencia en una directiva alloc_text
pragma se deben definir en el mismo módulo que la directiva pragma. En caso contrario, si se compila más tarde una función sin definir en otra sección de texto, el error se puede detectar o no. Aunque lo normal es que el programa se ejecute correctamente, la función no se asignará en las secciones previstas.
Estas son otras de las limitaciones de alloc_text
:
No se puede utilizar dentro de una función.
Debe utilizarse una vez declarada la función, pero antes de que esta se haya definido.