Treiber programmieren...
-
Warum wird immer gesagt, dass man Treiber
in ANSI C oder Assembler programmiert?Ist dies z.B. mit C++ nicht möglich?
-
One of the most "problematic" features of C++ in driver programming is exception handling.
-
Oder auf deutsch: Wer nicht programmieren kann, kann es in C++ erst recht nicht.
-
C++ for Kernel Mode Drivers: Pros and Cons: http://www.microsoft.com/whdc/driver/kernel/KMcode.mspx
-
Gast9873284 schrieb:
Warum wird immer gesagt, dass man Treiber
in ANSI C oder Assembler programmiert?...Ganz einfach, das ist Quatsch.
-
Ich würde nicht sagen dass es quatsch ist: Gibt's einen bestimmten Grund warum C++-Executables vom Speicherverbrauch sowie von der Executable-Dateigröße um einiges über dem eines vergleichbaren C-Programms liegt? Ich denke das wird mitunter auch ein Grund sein warum viele Systemsachen immernoch in C geschrieben werden.
-
Weil man bei cout und Konsorten den Speicherverbrauch als sekundär eingestuft hat. Mal angenommen, ein C++-Programm würde immer 100k Speicher verschwenden, wären das bei 100 offenen Anwendungen erst 10M, was nicht schlimm ist, wenn man >2G hat, und wer hat das nicht?
Für Treiber verwendet man übrigens nicht cout. Bei Primzahlenprogrammen und sowas waren meine C++-Programme nie hungriger als entsprechende C-Programme.
-
volkard schrieb:
Oder auf deutsch: Wer nicht programmieren kann, kann es in C++ erst recht nicht.
Die Leute die Treiber programmieren können es aber und verwenden trotzdem kein C++.
-
k00 schrieb:
volkard schrieb:
Oder auf deutsch: Wer nicht programmieren kann, kann es in C++ erst recht nicht.
Die Leute die Treiber programmieren können es aber und verwenden trotzdem kein C++.
und warum nicht?
-
k00 schrieb:
volkard schrieb:
Oder auf deutsch: Wer nicht programmieren kann, kann es in C++ erst recht nicht.
Die Leute die Treiber programmieren können es aber und verwenden trotzdem kein C++.
Unsinn. Es spricht absolut nichts dagegen C++ zu nutzen für die Treiberprogrammierung.
-
Janjan schrieb:
k00 schrieb:
volkard schrieb:
Oder auf deutsch: Wer nicht programmieren kann, kann es in C++ erst recht nicht.
Die Leute die Treiber programmieren können es aber und verwenden trotzdem kein C++.
Unsinn. Es spricht absolut nichts dagegen C++ zu nutzen für die Treiberprogrammierung.
doch, einfach mal lesen
link* schrieb:
C++ for Kernel Mode Drivers: Pros and Cons: http://www.microsoft.com/whdc/driver/kernel/KMcode.mspx
-
Janjan schrieb:
k00 schrieb:
volkard schrieb:
Oder auf deutsch: Wer nicht programmieren kann, kann es in C++ erst recht nicht.
Die Leute die Treiber programmieren können es aber und verwenden trotzdem kein C++.
Unsinn. Es spricht absolut nichts dagegen C++ zu nutzen für die Treiberprogrammierung.
Was spricht dafür?
-
Schneewittchen schrieb:
Was spricht dafür?
Keine C-Casts. Destruktoren...
-
abc.w schrieb:
Schneewittchen schrieb:
Was spricht dafür?
Keine C-Casts. Destruktoren...
C-casts gibt es auch in C++. Ohne geht es nunmal nicht.
Destruktoren machen selten Sinn in Treiber-Code.
C++ ist für low-level zu highlevelig und für high-level zu lowlevelig.
Fazit: man kann in C++ Treiber schreiben, es bringt aber keinen nennenswerten Vorteil. Es kann sogar problematisch sein (siehe Link weiter oben).
-
> Ohne geht es nunmal nicht.
Die neuen Casts können allesamt das selbe wie C-Casts.
-
Ad aCTa schrieb:
> Ohne geht es nunmal nicht.
Die neuen Casts können allesamt das selbe wie C-Casts.Diese vielfältige Redundanz hat mich an C++ schon immer gestört. Sonst mag ich C++ eigentlich ganz gern.
-
Ad aCTa schrieb:
> Ohne geht es nunmal nicht.
Die neuen Casts können allesamt das selbe wie C-Casts.
Gut, dann können wir ja bei C casts (und somit gleich bei C) bleiben, die sind viel einfacher.
-
Und mit der gleichen Argumentation können wir alles in Maschinensprache schreiben.
-
Wir sind solche Freaks, wir codieren gleich binär xD
-
gffddffdfdfdgf schrieb:
Ad aCTa schrieb:
> Ohne geht es nunmal nicht.
Die neuen Casts können allesamt das selbe wie C-Casts.Gut, dann können wir ja bei C casts (und somit gleich bei C) bleiben, die sind viel einfacher.
Di größte Stärke von C++ ist, daß man darin wie in C programmieren kann. Der Rest ist mal mehr, mal weniger nützliches Beiwerk.