I'm trying to write a simple SGX enclave that takes in a vector of booleans, but apparently edger8r creates c code; so the edl code
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 {
};
};
produces a compile error (Amusingly, the Intel compiler reports it under the title "catastrophic error") saying header vector
can't be found.
It seems to me that the problem can be solved just by compiling the output edge code with a c++ flag. Would that work? Even if so, is there a cleaner way to do this (i.e. having edge functions with C++ standard-typed parameters)?
PS: I don't have enough rep to add a new tag, would anyone tag this with 'edger8r'? It'll be helpful I think.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…