Suchergebnisse für Anfrage "rust"

2 die antwort

Wie verwende ich den Rust-Speicherzuweiser für eine C-Bibliothek, für die ein Zuweiser bereitgestellt werden kann?

Ich schreibe Rust-Bindings in eine C-Bibliothek, die die Option hat, einen Speicherzuweiser eines Drittanbieters zu verwenden. Das Interface sieht so aus: struct allocator { void*(*alloc)(void *old, uint); void(*free)(void*); ...

4 die antwort

Wie kann ich eine Warnung für eine einzelne Anweisung in Rust unterdrücken?

Sagen Sie, es gibt eine einzelne Warnung wiepath_statements, unused_variables. Gibt es eine Möglichkeit, einen einzelnen Moment davon zu ignorieren, ohne sie in einem Codeblock oder einer Funktion zu isolieren? Um klar zu sein, wenn der Code ...

2 die antwort

Wie man einen Zeiger auf ein Array in Rust für C @ darstel

Ich brauche einextern "C" FFI funktionieren in Rust und wollen ein Array fester Größe akzeptieren. Der C-Code übergibt so etwas wie: // C code extern int(*)[4] call_rust_funct(unsigned char (*)[3]); .... unsigned char a[] = { 11, 255, 212 }; ...

TOP-Veröffentlichungen

2 die antwort

Falsche Zuordnung von C struct zu Rust

us pädagogischen Gründen versuche ich, auf das @ zuzugreifeFILE struct in Rust: unsafe { let passwd = libc::fopen("/etc/passwd".to_ptr(), &('r' as libc::c_char)); let fp = &mut *(passwd as *mut MY_FILE); println!("flags={}, file={}", fp._flags, ...

2 die antwort

Raw Zeiger wird null und geht von Rust nach C

Ich versuche, einen rohen Zeiger aus einer C-Funktion in rust abzurufen und diesen rohen Zeiger als Argument in einer anderen C-Funktion aus einer anderen Bibliothek zu verwenden. Wenn ich den RAW-Zeiger übergebe, wird auf der C-Seite ein ...

2 die antwort

idersprüchliche Implementierungen von Merkmalen in Ru

Ich möchte ein benutzerdefiniertes Merkmal für @ implementier&'a str und für ganze Zahlen bisi32, aber Rust erlaubt mir nicht: use std::convert::Into; pub trait UiId { fn push(&self); } impl<'a> UiId for &'a str { fn push(&self) {} } impl<T: ...

2 die antwort

Wie werden Felder während der Serialisierung mit Serde transformiert?

Wie kann ich vor der Serialisierung eine Transformation auf ein Feld anwenden? Wie kann ich zum Beispiel sicherstellen, dass die Felderlat undlon in dieser Strukturdefinition werden vor der Serialisierung auf höchstens 6 ...

4 die antwort

Können Makros mit konstanten Argumenten anstelle von Literalen verglichen werden?

Angenommenmacro passendes Beispiel [https://doc.rust-lang.org/book/macros.html#matching], dies zeigt, wie Makros mit einem Argument übereinstimmen können. Ich habe hier nur geringfügige Änderungen vorgenommen, um Zahlen zu ...

4 die antwort

Das Ermitteln eines Merkmals führt zu einem unerwarteten Compilerfehler, aber die manuelle Implementierung funktioniert

Dieser Code Spielplat [https://play.rust-lang.org/?gist=76d81c07dffb995b91a86487fd5b5ed4&version=stable&backtrace=0] ): #[derive(Clone)] struct Foo<'a, T: 'a> { t: &'a T, } fn bar<'a, T>(foo: Foo<'a, T>) { foo.clone(); } ... kompiliert ...

6 die antwort

Wie kann ich Daten von einem Slice in dasselbe Slice schreiben?

Ich möchte das Ende eines Slice an den oberen Rand desselben Slice schreiben. let mut foo = [1, 2, 3, 4, 5]; foo[..2].copy_from_slice(&[4..]); // error: multiple references to same data (mut and not) assert!(foo, [4, 5, 3, 4, 5]);Ich habe ...