摘要
如何使用 Visual Studio* 建立呼叫飛地代碼的 DLL
描述
- 建立 Dynamic-Link 連結程式庫 (DLL),其中包含未經修改的代碼,並嘗試對飛地進行呼叫。
- 當呼叫 sgx_create_enclave () 時,未連結 的 DLL 執行緒會卡住。
解決方法
- 如 Walkthrough 所述,在 Visual Studio* 中建立 DLL 專案:建立和使用 您自己的動態連結程式庫 (C++)
- 將 C:\Program Files (x86) 的程式碼\Intel\IntelSGXSDK\src\SampleEnclave\App\App.cpp 的代碼貼到 DLL 來源檔案的入門級。
- 從 C:\Program Files (x86)\Intel\IntelSGXSDK\src\SampleEnclave\App 複製專案設定。
- 在 DLL 的標頭檔案中,使用 Walkthrough 步驟 4 中的範例匯出飛地呼叫:建立並使用您自己的 Dynamic Link 程式庫 (C++)
- 請Intel SGX Windows 的開發人員參考指南,將 C:\Program Files (x86) 中的樣品飛地專案新增到 Visual Studio 解決方案中。Intel\IntelSGXSDK\src\SampleEnclave\飛地。
- 編譯並連結解決方案。
- 建立 另一個可執行專案,連結未連結的 DLL 和飛地 DLL 的 .lib 檔案。
- 將 未連結且已簽署的飛地 DLL 貼上與可執行檔相同的目錄。