• Home
  • Raw
  • Download

Lines Matching refs:Rust

1 CXX — Rust和C++之间的安全FFI
15 CXX通过FFI(Foreign Function Interface)和函数签名的形式来实现接口和类型声明,并对类型和函数签名进行静态分析,以维护Rust和C++的不变量和要求。
21 ### C++调用Rust接口
23 1. 在Rust侧文件lib.rs里mod ffi写清楚需要调用的C++接口,并将接口包含在extern "Rust"里面,暴露给C++侧使用。
34 extern "Rust"{
44 println!("Here is a test for cpp call Rust.");
47 println!("Here is a message from Rust,test for ffi::Shared:");
51 println!("Here is a message from Rust,test for usize:");
55 println!("Here is a message from Rust,test for String");
59 println!("Here is a message from Rust,test for {} + {} is:",n1 ,n2);
84 3. 添加构建文件BUILD.gn。rust_cxx底层调用CXX工具将lib.rs文件转换成lib.rs.h和lib.rs.cc文件,ohos_rust_static_ffi实现Rust侧源码的编…
116 ### Rust调用C++
228 3. main.rs文件,在main.rs文件的ffi里面,通过宏include!将头文件client_blobstore.h引入进来,从而在Rust的main函数里面就可以通过ffi的方式调用C+…
240 // Rust types and signatures exposed to C++.
241 extern "Rust" {
247 // C++ types and signatures exposed to Rust.
263 // over some more complex Rust data structure like a rope, or maybe loading
285 println!("This is a test for Rust call cpp:");
297 4. 添加构建文件BUILD.gn。使用CXX将main.rs转换成lib.rs.h和lib.rs.cc,同时将产物作为test_cxx_rust_staticlib的源码,编译Rust源码main…
392 <tr><th>name in Rust</th><th>name in C++</th><th>restrictions</th></tr>
399 …;</a></td><td>std::unique_ptr&lt;T&gt;</td><td><sup><i>cannot hold opaque Rust type</i></sup></td>…
400 …;</a></td><td>std::shared_ptr&lt;T&gt;</td><td><sup><i>cannot hold opaque Rust type</i></sup></td>…
403 …or&lt;T&gt;</td><td><sup><i>cannot be passed by value, cannot hold opaque Rust type</i></sup></td>…
405 <tr><td>fn(T, U) -&gt; V</td><td>rust::Fn&lt;V(T, U)&gt;</td><td><sup><i>only passing from Rust to …
414 <tr><th>name in Rust</th><th>name in C++</th></tr>