ID de l'article: 000059846 Type de contenu: Information et documentation de produit Dernière révision: 10/08/2021

Comment la mémoire d’objet doit-elle être située dans une enclave Intel® Software Guard Extensions (Intel® SGX) ?

BUILT IN - ARTICLE INTRO SECOND COMPONENT
En bref

Utilisez l’opérateur C++ « supprimer » pour libérer la mémoire d’objet à l’intérieur d’une enclave.

Descriptif
  • Enclave comprend des objets C++ comme des classes et des unique_ptrs.
  • Impossible de déterminer comment libérer la mémoire des objets C++ dans l’enclave.
Résolution

Au sein des enclaves, utilisez l’opérateur de suppression C++ pour libérer la mémoire précédemment allouée aux classes, unique_ptrs objets et à d’autres objets utilisant le nouvel opérateur. Les opérateurs nouveaux et supprimer se comportent les mêmes au sein des enclaves que dans les applications C++ régulières.

Code d’exemple :

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;

 

Informations complémentaires

Pour plus d’informations, reportez-vous à la section Assistance en langue C++ du guide de référence des développeurs de Intel® Software Guard Extensions (Intel® SGX) pour plus d’informations.

Produits associés

Cet article concerne 1 produits

Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.