ID do artigo: 000059846 Tipo de conteúdo: Documentação e informações do produto Última revisão: 10/08/2021

Como a memória de objeto deve ser desarmável dentro de um enclave Intel® Software Guard Extensions (Intel® SGX) de memória?

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Resumo

Use o operador C++ "delete" para liberar memória de objeto dentro de um enclave.

Descrição
  • O Enclave inclui objetos C++ como aulas e unique_ptrs.
  • Não foi possível determinar como liberar a memória para objetos C++ no enclave.
Resolução

Dentro dos enclaves, use o operador C++ delete para liberar memória que foi alocada anteriormente em aulas, unique_ptrs e outros objetos usando o novo operador. Os operadores novos e excluídos se comportam da mesma forma nos enclaves, como em aplicativos C++ regulares.

Código de amostra:

test.h:

class{

private:

  ClassA* ca;

  unique_ptr cb;

}

test.cpp:

//Use new to instantiate the class and unique_ptr objects

ca = new ClassA*(...); 

cb = make_unique(function(...));

//Use delete to free the memory previously allocated with new

delete ClassA;

delete cb;

 

Outras informações

Consulte a seção suporte de idioma C++ no Guia de referência do desenvolvedor de SDK Intel® Software Guard Extensions (Intel® SGX) SDK para seu sistema operacional, para obter mais informações.

Produtos relacionados

Este artigo aplica-se a 1 produtos

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.