Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Взаимодействие языков

Идеальный сценарий:

RustC++

Этот раздел курса посвящён взаимодействию Rust с внешними языками через интерфейс внешних функций (FFI), с особым вниманием к взаимодействию с C++.

В идеале пользователи Rust и внешнего языка (в данном случае C++) могли бы напрямую вызывать методы друг друга.

Этот идеальный сценарий очень трудно осуществить:

У разных языков разная семантика, и отображение между ними подразумевает компромиссы. Ни Rust, ни C++ не гарантируют стабильность ABI1, что затрудняет построение на стабильной основе


  1. Некоторые поставщики компиляторов C++ обеспечивают стабильность ABI в своём тулчейне. ↩