Rust 和 C++:一起迈向更好的编程集成

Transparenz: Redaktionell erstellt und geprüft.
Veröffentlicht am

了解 Rust 基金会如何制定策略来提高 Rust 和 C++ 之间的互操作性。探索开发者面临的挑战和解决方案!

Erfahren Sie, wie die Rust Foundation Strategien entwickelt, um die Interoperabilität zwischen Rust und C++ zu verbessern. Entdecken Sie die Herausforderungen und Lösungen für Entwickler!
了解 Rust 基金会如何制定策略来提高 Rust 和 C++ 之间的互操作性。探索开发者面临的挑战和解决方案!

Rust 和 C++:一起迈向更好的编程集成

Rust 基金会最近在 GitHub 上发布了一份重要文档,强调了 Rust 和 C++ 编程语言之间交互的挑战。该基金会概述了改善这两种编程语言之间的互操作性的短期和长期解决方案。这是特别相关的,因为 Rust 虽然建立在低级编程中,但经常遇到现有的 C++ 应用程序。

Rust 和 C++ 之间的互操作性是一个关键问题,特别是在开发嵌入式系统或其他资源有限的环境时。 Rust 基金会提到的用例是实践的典范:使用 Rust 实现新功能的 C++ 系统、依赖现有 C++ 代码的基于 Rust 的系统以及使用多种编程语言的系统。 C++ 有着悠久的历史,这就是为什么许多项目经常必须使用现有的 C++ 代码。

整合的挑战

一起使用 Rust 和 C++ 的一个主要障碍是缺乏允许在同一文件中混合 C++ 和 Rust 代码的工具链。目前需要基于 FFI(外部函数接口)的方法来连接这两种编程语言。这通常是通过 C 的应用程序二进制接口 (ABI) 完成的,它比更复杂的 C++ ABI 更稳定且独立于平台。

另一个大问题是,Rust 的许多安全功能在与 C 交互时很大程度上会丢失。因此,这对想要在与 C 交互的同时利用 Rust 强大的安全措施的开发人员提出了严峻的挑战。Rust 基金会将 C 描述为 FFI 集成的“通用语言”,而创建通用通信基础的困难严重限制了特定 Rust 功能的使用。

改进策略

Rust 基金会在其“C++/Rust 互操作性问题陈述”中定义了三个关键策略来优化这些语言之间的互操作性。首先,该基金会计划改进工具并解决 Rust 项目中导致集成困难的基本问题。

此外,目的是就确定和实施 Rust 必要的更改以提高互操作性的策略达成共识。另一个重要的一点是与 C++ 社区和 C++ 标准委员会的合作,以追求共同的安全和性能目标。

这些方法是在 Google 于 2024 年 2 月向 Rust 基金会慷慨捐赠 100 万美元之际推出的。这些资金旨在进一步推进 Rust 和 C++ 之间的合作。

有关更多信息,请参阅 GitHub 上的 C++/Rust 问题声明和 Rust 基金会公告。这些举措可能会对未来的软件开发和集成产生重大影响,特别是在 Rust 和 C++ 一起使用的领域。