記事 ID: 000058765 コンテンツタイプ: 互換性 最終改訂日: 2021/10/13

インテル® Software Guard Extensions (インテル® SGX) エンクレーブで std::stringstream を使用できない

BUILT IN - ARTICLE INTRO SECOND COMPONENT
概要

インテル® SGX・エンクレーブのサポートされていない C++ 標準ライブラリー

詳細

エンクレーブで std::stringstream を使用できないのはなぜですか?

解決方法

Stringstream は インテル SGX ではサポートされていません。 インテル SGX SDK 開発者リファレンス・ガイド には次の状態があります。

「C++ 標準ライブラリーに関しては、ほとんどの関数は同じように機能しますが、ここではエンクレーブ内でサポートされていない機能の概要を紹介します。

  1. I/O 関連の機能とクラス (;
  2. 機能は、スロケ ー・ライブラリーに依存します。
  3. システムコールを必要とするその他の機能。

[サポートされていない C++ 標準クラスと関数] セクションには、iostream がサポートされていないと表示されている表 (入力 / 出力ライブラリー) が含まれています。

エンクレーブ内の iostream 関数にアクセスする回避策として、エンクレーブに代わってアンビセントアプリで iostream 関数を呼び出す ocall を作成します。SGX ソフトウェア開発キット (SGX SDK) の SampleEnclave の例では、エンクレーブ内で printf を使用するための ocall を実装する方法を示しています。

関連製品

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

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