怎么从Rust中调用c++的工具

怎么从Rust中调用c++的工具

这篇文章主要讲解了“怎么从Rust中调用c++的工具”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么从Rust中调用c++的工具”吧!

google/autocxx - 高度自动化的rust调用c++,而且安全,时尚

这个项目是一个从Rust中调用c++的工具,以一种高度自动化但安全的方式。
这样做的目的是,在使用bindgen的一个变体从现有的c++头文件自动生成接口的同时,也具有来自cxx的所有流畅安全性。可以把autocxx看作是将bindgen插入cxx的胶水。
它的目的是最终公开一个过程宏,如下所示:

   
   
  
class Bob {
public:
   Bob(std::string name);
   ...
   void do_a_thing();
}
     

   
   
  
use autocxx::include_cxx;

include_cxx!(
   Header("base/bob.h"),
   Allow("Bob"),
)

let a = ffi::base::bob::make_unique("hello".into());
a.do_a_thing();
     

使用rust在内核print

print是很重要的。如果某些东西不工作,您想知道为什么(例如,通过查看控制台输出)。当我第一次为内核驱动程序编写日志宏时,我没有考虑太多安全性问题。我只是想:“肯定没有人会用错误的格式说明符或错误的参数数量调用它,因为它的用法简单而直接”。

感谢各位的阅读,以上就是“怎么从Rust中调用c++的工具”的内容了,经过本文的学习后,相信大家对怎么从Rust中调用c++的工具这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!