ID del artículo: 000059846 Tipo de contenido: Información y documentación sobre productos Última revisión: 10/08/2021

¿Cómo debería liberarse la memoria de objetos dentro de Intel® Software Guard Extensions (Intel® SGX) Enclave?

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Resumen

Utilice el operador de C++ "delete" para liberar la memoria de objetos dentro de un enclave.

Descripción
  • Enclave incluye objetos de C++ como clases y unique_ptrs.
  • No se puede determinar cómo liberar la memoria para objetos de C++ en el enclave.
Resolución

En enclaves, utilice el operador de eliminación de C++ para liberar la memoria que anteriormente se asignaba a clases, unique_ptrs y otros objetos mediante el nuevo operador. Los operadores new y delete se comportan igual en enclaves que en aplicaciones de C++ regulares.

Código de muestra:

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;

 

Más información

Para obtener más información, consulte la sección De asistencia de lenguaje de C++ Intel® Software Guard Extensions (Intel® SGX) de referencia para desarrolladores de SDK de su sistema operativo.

Productos relacionados

Este artículo se aplica a 1 productos

El contenido de esta página es una combinación de la traducción humana y automática del contenido original en inglés. Este contenido se ofrece únicamente para su comodidad como información general y no debe considerarse completa o precisa. Si hay alguna contradicción entre la versión en inglés de esta página y la traducción, prevalecerá la versión en inglés. Consulte la versión en inglés de esta página.