記事 ID: 000059846 コンテンツタイプ: 製品情報 & ドキュメント 最終改訂日: 2021/08/10

オブジェクト・メモリーを(非 インテル® Software Guard Extensions) エンインテル® SGXする方法

BUILT IN - ARTICLE INTRO SECOND COMPONENT
概要

C++ 演算子「delete」を使用してエンクリリーブ内のオブジェクト・メモリーを解放します。

詳細
  • Enclave にはクラスやクラス・オブジェクトのような C++ unique_ptrs。
  • エンclave 内の C++ オブジェクトのメモリーを解放する方法が確認できません。
解決方法

エンクレイブ内では、C++ delete演算子を使用して、new 演算子を使用して以前クラス、unique_ptrs、その他のオブジェクトに割り当てられたメモリーを解放します。新しい演算子と削除演算子は、通常の C++ アプリケーションと同じようにエンクレイブ内で同じように動作します。

サンプルコード:

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;

 

追加情報

詳細については、ご利用 のオペレーティング・システムの インテル® Software Guard Extensions (インテル® SGX) SDK デベロッパー・リファレンス・ガイドの C++ 言語サポートセクションを参照してください。

関連製品

本記事の適用対象: 1 製品

このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。