База Hintsage

Программирование Rust

Язык Rust и безопасное системное программирование.

Темы раздела

Выберите подраздел

Практика

Вопросы: Программирование Rust

В плагине C++ исключение может пройти через вызванный Rust callback. Какой ABI должен быть указан на границе, чтобы такой unwind не пересекал запрещённый контракт?

unsafe extern "C" {
    fn start(cb: extern "C" fn());
    fn cxx_operation();
}

extern "C" fn callback() {
    unsafe { cxx_operation() }
}

fn main() {
    unsafe { start(callback) }
}
Программирование RustUnsafe и памятьИнженер по интеграции Rust и C++

Представьте вызов C-функции, которая записывает результат по переданному указателю. Как Rust должен представить такой выходной параметр до вызова, чтобы не считать память инициализированной преждевременно?

Программирование RustUnsafe и памятьИнженер по системному программированию на Rust

Показано 120 из 329