| Zeile 1: | Zeile 1: | ||
{{Vorlage:Sprache | {{Vorlage:Sprache | ||
|Name = D | |Name = D | ||
| − | + | |Inlineassembler = Ja (Intel-Syntax) | |
|Compiler = dmd (Digital Mars), gdc (GNU) | |Compiler = dmd (Digital Mars), gdc (GNU) | ||
|Plattformen = Alle | |Plattformen = Alle | ||
| Zeile 10: | Zeile 10: | ||
== D als Sprache für ein Betriebssystem == | == D als Sprache für ein Betriebssystem == | ||
| − | D kann primär als objektorientiertes C (ähnlich C++) gesehen werden. Mit D lässt sich genauso wie in C sehr systemnah programmieren, es sind Sprachmittel wie Pointer vorhanden und man kann per Inline-Assembler (Intel-Syntax) Assembler-Routinen einbauen. Einzig muss (z.B. für den [[Kernel]]) ein kleines Runtime implementiert werden, welcher Funktionen zum Überprüfen von Werten während der Laufzeit zur Verfügung stellt (mehr dazu weiter unten). Um Sprachmittel wie Konstruktoren und Desktruktoren einzusetzen, bedarf es ebenfalls Kompatibillitätscode. | + | D kann primär als objektorientiertes C (ähnlich C++) gesehen werden. Mit D lässt sich genauso wie in C sehr systemnah programmieren, es sind Sprachmittel wie Pointer vorhanden und man kann per Inline-[[Assembler]] (Intel-Syntax) Assembler-Routinen einbauen. Einzig muss (z.B. für den [[Kernel]]) ein kleines Runtime implementiert werden, welcher Funktionen zum Überprüfen von Werten während der Laufzeit zur Verfügung stellt (mehr dazu weiter unten). Um Sprachmittel wie Konstruktoren und Desktruktoren einzusetzen, bedarf es ebenfalls Kompatibillitätscode. |
== Kernel in D == | == Kernel in D == | ||