ブーリアンのベクトルを取り入れた単純なSGXエンクレーブを作成しようとしていますが、明らかにedger8rはcコードを作成します。そのEDLコードC++のSGXエンクレーブエッジ関数への引数
enclave{
from "sgx_tstdc.edl" import *;
#include "BetaDist.h"
#include <vector>
trusted {
BetaDist Estimate(std::vector<bool> X, double max_z, double max_delta);
};
untrusted {
};
};
はヘッダvector
が見つからないと言って(面白いこと、インテル・コンパイラーは、タイトル「致命的なエラー」の下にそれを報告します)コンパイルエラーを生成します。
この問題は、出力エッジコードをC++フラグでコンパイルするだけで解決できると思います。それは働くだろうか?その場合でも、これを行うためのよりクリーンな方法がありますか(つまり、C++標準型パラメータでエッジ関数を使用しています)?
PS:私は新しいタグを追加するのに十分な担当者がいません。誰でもこれを 'edger8r'とタグ付けしますか?それは私が考えるのに役立つだろう。
提案されたソリューションのコードを追加することができます。より明確になるだろう – Nipun