簡體   English   中英

如何通過Rust FFI調用C ++構造函數?

[英]How do I call a C++ constructor via Rust FFI?

我試圖通過FFI在Rust中使用“xerces-c”而沒有成功。 在C ++中,我會編寫以下代碼來使用它:

XMLPlatformUtils::Initialize();
{
  XercesDOMParser domParser;
  ParserErrorHandler parserErrorHandler;

  domParser.setErrorHandler(&parserErrorHandler);
  domParser.setDoSchema(true);
  domParser.setValidationSchemaFullChecking(true);

  domParser.parse(xmlFilePath.c_str());
  if(domParser.getErrorCount() != 0) {     
     // ...
  }
}
XMLPlatformUtils::Terminate();

如何在Rust中使用這些“復雜”數據類型? 我找到了許多導出/創建FFI以在其他語言中使用它的示例,但沒有在Rust中使用復雜類型。

extern crate libc;

#[link(name = "xerces-c")]
extern {
    // How do i have to implement the constructor here? 
}

Rust不支持使用C ++的FFI。 如果你想使用這個庫,你將不得不尋找或編寫一個轉換層,提供了一個純粹的C接口庫,然后綁定到這一點

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM