«rust» etiketlenmiş sorular

Rust, üç hedefe odaklanan çöp toplayıcısız bir sistem programlama dilidir: güvenlik, hız ve eşzamanlılık. Rust ile yazılmış kod hakkında sorularınız için bu etiketi kullanın. [Rust-2018] gibi belirli bir sürüm gerektiren kodla ilgili sorular için baskıya özel bir etiket kullanın. [Rust-cargo] ve [rust-macro'lar] gibi alt konular için daha spesifik etiketler kullanın.


1
Rust derleyicisi neden iki değiştirilebilir başvurunun diğer adının kullanılamayacağını varsayarak kodu en iyi duruma getirmiyor?
Bildiğim kadarıyla, referans / işaretçi takma adı, derleyicinin optimize edilmiş kod üretme yeteneğini engelleyebilir, çünkü iki referansın / işaretçinin gerçekten takma adda oluşturulduğu ikili kodun doğru şekilde davranmasını sağlamalıdırlar. Örneğin, aşağıdaki C kodunda, void adds(int *a, int *b) { *a += *b; *a += *b; } bayrak clang version 6.0.0-1ubuntu2 …

4
Neden println! birim testlerinde ne işe yarar?
Aşağıdaki yöntemi ve birim testini uyguladım: use std::fs::File; use std::path::Path; use std::io::prelude::*; fn read_file(path: &Path) { let mut file = File::open(path).unwrap(); let mut contents = String::new(); file.read_to_string(&mut contents).unwrap(); println!("{}", contents); } #[test] fn test_read_file() { let path = &Path::new("/etc/hosts"); println!("{:?}", path); read_file(path); } Birim testini şu şekilde çalıştırıyorum: rustc --test …
286 rust  println 


4
Rust'da kullanılmayan kod uyarılarını nasıl devre dışı bırakabilirim?
struct SemanticDirection; fn main() {} warning: struct is never used: `SemanticDirection` --> src/main.rs:1:1 | 1 | struct SemanticDirection; | ^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: #[warn(dead_code)] on by default Ciddi bir şey için bu uyarıları tekrar açacağım, ama sadece dille uğraşıyorum ve bu da yarasaları yönlendiriyor. Koduma eklemeyi denedim #[allow(dead_code)], ama işe …

2
240 veya daha fazla öğeye sahip bir dizi üzerinde döngü yaparken neden büyük bir performans etkisi var?
Rust'da bir dizi üzerinde bir toplam döngüsü çalıştırırken, CAPACITY= 240 CAPACITYise büyük bir performans düşüşü fark ettim. = 239 yaklaşık 80 kat daha hızlı. Rust'un "kısa" diziler için yaptığı özel derleme optimizasyonu var mı? İle derlendi rustc -C opt-level=3. use std::time::Instant; const CAPACITY: usize = 240; const IN_LOOPS: usize = …


5
Bir String'i Rust'daki string değişmezleriyle nasıl eşleştirebilirim?
Ben StringRust bir a maç nasıl anlamaya çalışıyorum . Başlangıçta böyle eşleme çalıştım, ama üstü kapalı yayın yapamazsanız Rust anladım std::string::Stringetmek &str. fn main() { let stringthing = String::from("c"); match stringthing { "a" => println!("0"), "b" => println!("1"), "c" => println!("2"), } } Bu hata var: error[E0308]: mismatched types --> …
205 string  match  rust 



4
Bir kütüphane ve bir ikili ile pas paketi?
Hem yeniden kullanılabilir bir kitaplık (programın çoğu uygulandığı yerde) hem de onu kullanan bir yürütülebilir dosya içeren bir Rust paketi yapmak istiyorum. Rust modül sisteminde herhangi bir anlambilimi karıştırmadım, dosyam Cargo.tomlneye benzemeli?
190 rust  rust-cargo 

7
Rust bir dize int dönüştürmek?
Not: Bu soru, kullanılmayan 1.0 öncesi kodu içeriyor! Ancak cevap doğrudur. Bir dönüştürmek için strbir etmek intRust, ben bunu yapabilirsiniz: let my_int = from_str::<int>(my_str); Ben dönüştürmek için bildiğim tek yolu Stringbir karşı intbunun bir dilim almak ve sonra kullanmaktır from_strşöyle Üzerinde: let my_int = from_str::<int>(my_string.as_slice()); Doğrudan bir dönüştürmek için bir …
187 rust 


4
İter ve into_iter arasındaki fark nedir?
Rust bu kod parçacığı olan örnek öğretici ile yapıyorum : // Vec example let vec1 = vec![1, 2, 3]; let vec2 = vec![4, 5, 6]; // `iter()` for vecs yields `&i32`. Destructure to `i32`. println!("2 in vec1: {}", vec1.iter() .any(|&x| x == 2)); // `into_iter()` for vecs yields `i32`. No …
175 rust 


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.