Autor Beitrag
Black Lightning
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 69



BeitragVerfasst: So 18.08.02 12:22 
Hallo,
ich habe mal gehört das 2 Dinge nicht mit Delphi zu machen seien...Betriebssystem und Treiber, da müsse man auf C++ zurückgreifen. Ein Betriebssystem hab ich sicherlich nie vor zu machen...aber wer weiss, vielleicht komm ich irgendwann in die Situation einen Treiber machen zu müssen. Beispielsweise für eine bestimmte Elektronik die über com angesprochen wird, oder was weiss ich.
Aber ist das tatsächlich mit Delphi nicht möglich?
Oder geht es wenn man asm einbindet?

Gibt es vielleicht sonst nochwas, was C oder C++ kann und Delphi nicht?

mfg
Black Lightning

_________________
--erst programmieren, dann denken, dann debuggen--
SpeedyGTD
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 89



BeitragVerfasst: So 18.08.02 22:46 
Würde mich auch mal interessieren, allerdings habe ich wirklich vor ein OS zu programmieren, hat aber noch ein bisschen Zeit :D
Ich denke aber das man mit Delphi auch Treiber und Betriebssysteme programmieren kann, dürfte nur ziemlich aufwendig sein.

Mfg SpeedyGTD
toms
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1099
Erhaltene Danke: 2



BeitragVerfasst: Mo 19.08.02 07:50 
Zitat:

Delphi ist ein Tool, dass dahingehend optimiert und entwickelt wurde, um schnellstmöglich Anwendungen für den Benutzermodus in Win32 (bevorzugt GUI) zu entwickeln.

Probleme:
- im Kernelmodus herrschen ganz andere Spielregeln,
- das Layout des resultierenden Images (PE/COFF-Format, kurz .exe und .dll) läßt sich beim Object Pascal Compiler/Linker nicht genügend beinflussen, um überhaupt erfolgreich vom Kernel akzeptiert zu werden
- Visual C++ ist die _einzige_ unterstützte Entwicklungsplattform für Anwendungen im Kernel-Modus...
- es gibt also folglich keine Units dafür und Du kannst bei 0 (nichts, nada, nil) mit reinem Assembler anfangen (sonst bekommst Du nichtmal die Init-Callback-Funktion hin), kein Speicher-Manager, keine Compiler-Magic, _keine_ Win32 API-Funktionen...
- ...selbst wenn sich jemand die Arbeit macht das Device Driver Kit (DDK) nach Object Pascal zu 'übersetzen', wird er feststellen, das selbige Sprache einige Features nicht hat, die dort ausgiebig benutzt werden ( z.B. Makros, 'fastcall' (Microsoft-spezifische Aufrufkonvention, vergleichbar mit 'register' in Pascal) und Unions (bedingt übersetzbar) ... )

Das waren nur die gröbsten technischen Probleme.
Alleine die Einarbeitung in das Thema Treiberentwicklung erfordert einen nicht zu unterschätzenden Aufwand. [...]

...insofern rate ich davon ab, zu versuchen mit Delphi (mal eben) einen Treiber zu schreiben.
Das haben andere schon getan, es reicht aber nicht zu mehr als: 'hm, geht mit viel Arbeit + HexEditor, aber macht irgendwie keinen Sinn'.

Ich hoffe das war deutlich genug. Dem interessierten Entwickler sei passende Lektüre (mind. DDK) empfohlen.

NicoDE