История изменений
Исправление 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-функции.