Utilisez l’opérateur C++ « supprimer » pour libérer la mémoire d’objet à l’intérieur d’une enclave.
- 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.
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;
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.
- Intel SGX de référence pour développeurs SDK pour Windows*
- La Intel SGX de référence pour Linux se trouve dans le dossier documentation de la dernière version du Intel® Software Guard Extensions SDK pour Linux*.