Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Umsteigen auf C++? (https://www.delphipraxis.net/111222-umsteigen-auf-c.html)

wido 31. Mär 2008 20:17

Re: Umsteigen auf C++?
 
Ach ja ...

C++ ist nicht die Sprache erster Wahl für Treiberprogrammierung. Eher im Gegenteil:
Sowohl bei Linux als auch bei Windows wird von der Benutzung von C++ im Kernel Mode z.B. eher abgeraten. Das Problem ist, daß viele der Sprachfeatures von C++ nur sehr schwer im Kernel Mode nutzbar sind. Exceptions sind da z.B. ein sehr prominentes Beispiel. Im Kernel Mode ist also immer noch C die erste Wahl, wobei C++ mit diversen Auflagen und unter größter Vorsicht (und in den meisten Fällen ohne Support vom Hersteller) möglich ist.

Linus Torvalds hat es mal treffend formuliert:
Zitat:

In fact, in Linux we did try C++ once already, back in 1992. It sucks. Trust me - writing kernel code in C++ is a BLOODY STUPID IDEA.

The fact is, C++ compilers are not trustworthy. They were even worse in
1992, but some fundamental facts haven't changed: 1) the whole C++ exception handling thing is fundamentally broken. It's _especially_ broken for kernels. 2) any compiler or language that likes to hide things like memory allocations behind your back just isn't a good choice for a kernel. 3) you can write object-oriented code (useful for filesystems etc) in C, _without_ the crap that is C++.
Ansonsten empfehle ich einfach mal:
http://www.linuxquestions.org/questi...to-use-353924/
http://www.microsoft.com/whdc/driver/kernel/KMcode.mspx

Allerdings gibts auch dort Ausnahmen. MacOS X z.B. unterstützt imho Treiberentwicklung mit Hilfe von C++. Allerdings hab ich damit bislang noch nicht allzu viel zu tun gehabt. Entsprechend kann ich dazu wenig sagen im Gegensatz zu Linux und Windows :).

mkinzler 31. Mär 2008 20:20

Re: Umsteigen auf C++?
 
MacOSX setzt afaik eher auf objective C

wido 31. Mär 2008 20:31

Re: Umsteigen auf C++?
 
Im Usermode, definitiv. Im Kernel Mode eher nicht, weil Objective C imho noch mehr Probleme im Kernel Mode hätte als C++.

Eine kurze Google Suche ergab nur:
Zitat:

I/O Kit drivers are written in C++. Most device drivers in other operating systems are written in C. This often poses interesting issues, primarily related to the way driver-specific data is stored. It also can lead to a number of other surprises. These are described further in “C++ Language Considerations.”
http://developer.apple.com/documenta...section_6.html

Wobei das spezielle Treiber zu sein scheinen, ähnlich dem UMDF bei Windows. Hab da wie gesagt auch leider keine Erfahrung, von daher lehn ich mich da lieber nicht zu weit aus dem Fenster ;).

.chicken 31. Mär 2008 20:41

Re: Umsteigen auf C++?
 
Ok Jungs, spätestens beim KernelMode komme ich nichtmehr mit ^^

Danke soweit an alle ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:57 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz