«rust» 태그된 질문

Rust는 안전, 속도 및 동시성의 세 가지 목표에 초점을 맞춘 가비지 수집기가없는 시스템 프로그래밍 언어입니다. Rust로 작성된 코드에 대한 질문에이 태그를 사용하십시오. [rust-2018]과 같이 특정 버전이 필요한 코드를 나타내는 질문에 대해서는 버전 별 태그를 사용하십시오. [rust-cargo] 및 [rust-macros]와 같은 하위 주제에 대해보다 구체적인 태그를 사용하십시오.


1
두 개의 가변 참조가 별칭을 지정할 수 없다고 가정 할 때 Rust 컴파일러가 코드를 최적화하지 않는 이유는 무엇입니까?
내가 아는 한, 참조 / 포인터 앨리어싱은 컴파일러가 최적화 된 코드를 생성하는 능력을 방해 할 수 있는데, 두 참조 / 포인터가 실제로 앨리어스 인 경우 생성 된 바이너리가 올바르게 동작해야하기 때문입니다. 예를 들어 다음 C 코드에서 void adds(int *a, int *b) { *a += *b; *a += *b; } 로 …

4
왜 프린트하지 않습니까! 녹 단위 시험에서 일합니까?
다음 방법과 단위 테스트를 구현했습니다. 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); } 이 방법으로 단위 테스트를 실행합니다. rustc --test app.rs; …
285 rust  println 


2
240 개 이상의 요소가있는 어레이를 반복 할 때 성능에 큰 영향을 미치는 이유는 무엇입니까?
Rust에서 배열에 대해 합 루프를 실행할 때 CAPACITY> = 240 일 때 성능이 크게 저하되는 것을 발견했습니다 . CAPACITY= 239가 약 80 배 빠릅니다. Rust가 "짧은"배열에 대해 수행하는 특수 컴파일 최적화가 있습니까? 로 컴파일되었습니다 rustc -C opt-level=3. use std::time::Instant; const CAPACITY: usize = 240; const IN_LOOPS: usize = 500000; fn …

4
Rust에서 사용하지 않는 코드 경고를 비활성화하는 방법은 무엇입니까?
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 나는이 경고들을 심각한 것에 대해 다시 켤 것이나, 나는 단지 언어에 땜질을하고 있고 이것은 나를 박쥐로 이끌고있다. #[allow(dead_code)]내 코드에 추가하려고 시도했지만 작동하지 않았습니다.

2
같은 구조체에 값과 해당 값에 대한 참조를 저장할 수없는 이유는 무엇입니까?
나는 가치가 있고 그 가치와 그 가치 내부에 대한 참조를 내 유형으로 저장하고 싶다. struct Thing { count: u32, } struct Combined<'a>(Thing, &'a u32); fn make_combined<'a>() -> Combined<'a> { let thing = Thing { count: 42 }; Combined(thing, &thing.count) } 때로는 값이 있고 해당 값과 해당 값에 대한 참조를 동일한 …

5
Rust에서 문자열 리터럴과 문자열을 일치시키는 방법은 무엇입니까?
StringRust에서 어떻게 일치시키는 지 알아 내려고 노력 중 입니다. 처음에 이와 같이 일치를 시도했지만 Rust가에서에서 std::string::String로 캐스트 할 수 없다는 것을 알았 습니다 &str. fn main() { let stringthing = String::from("c"); match stringthing { "a" => println!("0"), "b" => println!("1"), "c" => println!("2"), } } 이것은 오류가 있습니다 : error[E0308]: …
205 string  match  rust 



4
라이브러리와 바이너리가 모두있는 녹 패키지?
재사용 가능한 라이브러리 (대부분의 프로그램이 구현되는 곳)와 그것을 사용하는 실행 파일이 모두 들어있는 Rust 패키지를 만들고 싶습니다. Rust 모듈 시스템에서 시맨틱을 혼동하지 않았다고 가정하면 Cargo.toml파일은 어떻게 생겼습니까?
190 rust  rust-cargo 

7
Rust에서 문자열을 int로 변환 하시겠습니까?
참고 :이 질문에는 더 이상 사용되지 않는 1.0 이전 코드가 포함되어 있습니다! 대답은 맞습니다. 을 변환하려면 str에 int녹, 나는이 작업을 수행 할 수 있습니다 : let my_int = from_str::<int>(my_str); 나는 변환하는 방법을 알고있는 유일한 방법 String으로는 int그것의 조각을 얻을 후 사용하는 것 from_str과 같이 그 위에 : let my_int = …
187 rust 

2
Rust의 정확한 자동 역 참조 규칙은 무엇입니까?
나는 Rust와 함께 배우고 / 실험하고 있으며,이 언어에서 발견되는 모든 우아함에 나를 방해하고 완전히 벗어난 것처럼 보이는 하나의 특이성이 있습니다. Rust는 메소드 호출시 포인터를 자동으로 역 참조합니다. 정확한 동작을 결정하기 위해 몇 가지 테스트를 수행했습니다. struct X { val: i32 } impl std::ops::Deref for X { type Target = i32; …

4
iter와 into_iter의 차이점은 무엇입니까?
이 코드 스 니펫이 있는 Rust by Example 튜토리얼을하고 있습니다. // 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 


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.