3
我想通過FFI在Rust中使用「xerces-c」而沒有成功。在C++中,我會寫下面的代碼來使用它:如何通過Rust FFI調用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?
}