alloc_text
pragma
Nomeia a seção de código onde as definições de função especificadas são colocadas. O pragma deve estar entre um declarador de função e a definição de função para as funções nomeadas.
Sintaxe
#pragma alloc_text(
"seção de texto",
function_1 [,
function_2 ... ])
Comentários
O alloc_text
pragma não trata funções de membro C++ ou funções sobrecarregadas. É aplicável somente a funções declaradas com vinculação C – ou seja, funções declaradas com a especificação de vínculo extern "C"
. Se você tentar usar esse pragma em uma função com vinculação C++, um erro do compilador será gerado.
Como o tratamento de função usando __based
não tem suporte, especificar locais de seção requer o uso do alloc_text
pragma. O nome especificado por text-section deve ser colocado entre aspas duplas.
O alloc_text
pragma deve aparecer depois que as declarações de qualquer uma das funções especificadas e antes das definições dessas funções.
As funções referenciadas em um alloc_text
pragma alloc_text devem ser definidas no mesmo módulo do pragma. Caso contrário, se uma função indefinida for compilada posteriormente em uma seção de texto diferente, o erro poderá ou não ser detectado. Embora o programa seja executado corretamente no geral, a função não será alocada nas seções desejadas.
Outras limitações de alloc_text
são:
Não pode ser usado dentro de uma função.
Deve ser usado depois que a função é declarada, mas antes de a função ser definida.