LINUX.ORG.RU

История изменений

Исправление tailgunner, (текущая версия) :

А в Python не можешь написать scanf(«%d», &val)

Могу. libc.scanf(«%d», byref(val))

То есть scanf(«%d», &val) написать ты не можешь - приходится использовать синтаксис Python и слой трансляции. А в Cи не сможешь WindowSDL2::new(...) - придется использовать синтаксис Си и специально помеченные Rust-функции.

Это не тот extern. Это наоборот подразумевает, что где-то на Си написан callback

Да? Вот текст callback из документа по ссылке:

extern "C" fn callback(target: *mut RustObject, a:i32) {
    println!("I'm called from C with value {0}", a);
    unsafe {
        // Update the value in RustObject with the value received from the callback
        (*target).a = a;
    }
}

Не очень похоже на Си, хотя тебе виднее.

Исходная версия tailgunner, :

А в Python не можешь написать scanf(«%d», &val)

Могу. libc.scanf(«%d», byref(val))

То есть scanf(«%d», &val) написать ты не можешь - приходится использовать синтаксис Python и слой трансляции. А в Cи не сможешь WindowSDL2::new(...) - придется использовать синтаксис Си и специально помеченные Rust-функции.