Aus Linux-Magazin 01/2026

Mit Rust Makros Code erzeugen

© mikkiorso / 123rf.com

Makros sind in Rust Befehle, die Code generieren. Der Compiler übersetzt ihn, was am Ende erheblich flotter ist, als wenn das Programm zur Laufzeit komplizierte Fallunterscheidungen treffen müsste.

“Warum haben manche Rust-Funktionen am Schluss ein Ausrufezeichen wie etwa »println!«? Sind die Ersteller besonders stolz darauf, dass sie damit fertig geworden sind?”, fragte mich eines Tages ein Kollege im Vorbeigehen. Ich blieb etwas verdutzt stehen. “Wenn etwas in Rust am Ende des Namens ein Ausrufezeichen hat, ist es keine Funktion, sondern ein Makro.” Mein Kollege wollte wissen: “Ein Makro, wie in Excel?”

“Nein, ganz anders!”, antwortete ich. “Der Befehl erzeugt Programmcode für den Compiler.” Er sah mich überrascht an, und schon waren wir in einer Diskussion über die Vor- und Nachteile von Codegenerierung und wie das eigentlich in Rust funktioniert. Mit Makros hatte ich mich im Detail bis dato noch nie beschäftigt oder selbst eines geschrieben. Interessantes Thema also, Herausforderung angenommen.

Artenvielfalt

Mit Makros [1] bietet Rust die Möglichkeit, bestehenden Code zu ändern oder neue Eigenschaften zu Datenstrukturen wie structs oder Funktionen hinzufügen. Das klingt im ersten Moment etwas fantastisch, aber jeder, der mit Rust programmiert, verwendet das ständig.

println!("werte {} {}", wert1, wert2);

Eine Funktion, die beliebig viele Argumente haben kann, gibt es in Rust nicht. Daher ist »println!« keine gewöhnliche Funktion, sondern ein Makro. Es generiert die entsprechenden Programmzeilen, die wie im Beispiel zwei unterschiedliche Werte in der gewünschten Form ausgeben. Der Compiler übersetzt das – wie alle anderen Programmzeilen – in ein ausführbares Programm. Sie gewinnen damit die Sicherheit, dass alles die Compiler-Prüfungen durchläuft und kein...

[...]
Linux-Magazin Online veröffentlicht alle Print-Artikel, die seit 2001 im Linux-Magazin erschienen sind. Damit steht Ihnen ein hochwertig bestücktes Archiv bis hin zu den Beiträgen der aktuellen Ausgabe online zur Verfügung. Die über 4.000 Artikel sind größtenteils kostenlos zugänglich, nur für Beiträge (als PDF) der jüngsten zehn Linux-Magazine ist eine kleine Gebühr fällig.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben