section

Cria uma seção em um arquivo. obj.

#pragma section( "section-name" [, attributes] )

Comentários

O significado dos termos segmento e seção são intercambiáveis neste tópico.

Uma seção for definida, ele permanece válido para o restante da compilação.Entretanto, você deve usar __declspec(allocate) ou nada será colocado na seção.

nome da seção é um parâmetro obrigatório que será o nome da seção.O nome não deve entrar em conflito com qualquer nome de seção padrão.Consulte /SECTION para obter uma lista de nomes que você não deve usar ao criar uma seção.

attributesé um parâmetro opcional que consiste em um ou mais atributos de separados por vírgulas que você deseja atribuir à seção.Possíveis attributes são:

  • leitura
    Permite que as operações de leitura nos dados.

  • gravação
    Permite operações de gravação nos dados.

  • executar
    Permite que o código seja executado.

  • compartilhado
    Compartilha a seção entre todos os processos que carregar a imagem.

  • noPage
    Marca da seção como não paginável; útil para drivers de dispositivo do Win32.

  • NoCache
    Marca a seção como não armazenáveis em cache; útil para drivers de dispositivo do Win32.

  • Descartar
    Marca da seção como descartáveis; útil para drivers de dispositivo do Win32.

  • remover
    Marca da seção como não residente na memória; drivers de dispositivo virtual (VxD) somente.

Se você não especifica atributos, a seção terão de leitura e gravação de atributos.

Exemplo

No exemplo a seguir, a primeira instrução identifica a seção e seus atributos.O número inteiro j não é colocada em mysec porque não foi declarado com __declspec(allocate); jvai para a seção de dados.O número inteiro i ir para o mysec como resultado de sua __declspec(allocate) o atributo de classe de armazenamento.

// pragma_section.cpp
#pragma section("mysec",read,write)
int j = 0;

__declspec(allocate("mysec"))
int i = 0;

int main(){}

Consulte também

Referência

Diretivas pragma e __Pragma palavra-chave