Forum: PC-Programmierung Welches C++ für Treiberprogrammierung unter Windows?


von Bernd (Gast)


Lesenswert?

Hi,

kann mir einer von Euch sagen, ab welchem Visual C++ 2005
Treiberprogrammierung möglich ist?

Experss Edition, Standard Edition oder erst ab der Professionl
Edition?

Danke,
Bernd

von Manuel B. (Gast)


Lesenswert?

(entfernt)

von Christoph _. (chris)


Lesenswert?

Um eher auf den OP einzugehen:
Die Expressversion sollte allemal reichen. Wo du aber kaum drum
herumkommen wirst, ist das DDK (Driver Development Kit), was seit
geraumer Zeit von Microsoft nicht mehr im Internet angeboten wird.
Entweder kennst du also jemanden, der dir das geben kann (etwa
Studenten, deren Uni an MSDN-AA teilnimmt) oder du bestellst es gegen
einen kleinen Unkostenbeitrag bei Microsoft.

von Bernd (Gast)


Lesenswert?

Was ist "1.0"? Irgend eine Version?

Ich meine mich zu erinnern, mal gelesen zu haben, dass bei VC++ 6.0 das
Compilieren von Treibern sowohl mit der Standard Edition als auch der
Professional Edition möglich war, aber aber die Lizensbedingungen bei
der Standard Edition das in Umlaufbringen verbot.

Bei der Express Edition habe ich gelesen, dass man diese sogar für
kommerzielle SW nutzen darf.

Allerdings sind mir die Unterschiede zwischen Express, Standard und
Professional Edition nicht ganz klar.

Fehlt bei der Express Edition eigentlich die Windows Dokumentation
(MSDN)?

Kann die Express Edition auch DLLs erzeugen?

Ich suche eine Version mit der man alles (exe, Treiber, dll, ...)
Programmieren kann und auch veröffentlichen darf.

Danke

von Bernd (Gast)


Lesenswert?

Ich habe da noch etwas gefunden. Hat schon einige Fragen beantwortet,
aber auch neue aufgeworfen.

http://www.nickles.de/c/s/21-0020-369-20.htm

Da steht, dass die Express Version keine MFC unterstützt. Ist ist
eigentlich ein graphischer Resource Editor für Forms, ... enthalten?

Danke,
Bernd

von Markus Sandner (Gast)


Lesenswert?

Hallo,
also erstmal ist JEDER C-Compiler für Treiberentwicklung geeignet, der
muss nicht von Kleinstweich stammen (OpenWatcom, GCC gehen auch ;) ).
Allerdings wird das DDK von Kleinstweich benötigt:
http://www.microsoft.com/whdc/devtools/ddk/default.mspx
Und wer in einen Treiber mit MFC rumwerkelt gehört gesteinigt !
Es reicht mir schon das ATI in den neuen Treibern .net als Frontend
benutzt, seid der Zeit gibt's öfter Hänger und ich muß dann das .net
killen was in einem kaputten Desktop und notwendigem reboot endet :(
Wenn Du kein DMA und Co benötigst, klink Dich einfach in die
DriverQueue von Windoof ein und laß die Deine I/O und IRQs verwalten,
spart 'ne Menge Arbeit ;)
Wenn Du DMA&Co benötigst hoffe ich mal Du weißt, wie man einzelne
Threads synchronisiert und das in die IRQ-Routine nur der Aufruf zum
eigentlichen Programm gehört ;)
Zum Hausgebrauch reicht es einen alten Rechner via seriellem Kabel als
Debugger zu nehmen, sonst wird's SEHR teuer ;)
Meine Erfahrung,
Markus

von Bernd (Gast)


Lesenswert?

Danke Markus,

aber ich glaube wir haben uns falsch verstanden.

Das mit MFC war nicht in kombination mit den Treibern gemeint. Habe
aber noch ein altes Projekt das die MFC benötigt.

Ich bin ganz allgemein auf der Suche nach einem neuen C++ Compiler,
wobei ich mir halt alle Möglichkeiten offen halten will.

Habe in der Vergangenheit schon öfter Probleme gehabt, weil das ein
oder andere SDK nur Microsoft kompatible lib Dateien mitlieferte. Libs
sind leider Compiler Hersteller abhängig.

Die Frage ist nur, welche Version vom Microsoft C++ - Compiler für
meine zwecke die richtige ist.

Bernd

von Markus Sandner (Gast)


Lesenswert?

Hi Bernd,
also wenn Du auf Microsoft Bibliotheken angewiesen bist führt kein Weg
an den orginalen Visual Studios vobei :(
Der momentane Unterschied liegt einfach im vorhandenen Source-Code und
der "Enterprise" Fähigkeit durch "Middleware" wie z.B. CORBA oder
neuerdings halt die JAVA Konkurrenz .NET.
Wenn Du nur Hobbyist bist und keine 10.000 Zeilen Programme debuggen
oder umschreiben/einbinden mußt, reicht die einfachste Version aus.
Z.B. kannst Du die hier http://www.heise.de/kiosk/special/ix/06/01/ für
14,90 bestellen. Oder Du suchst mal bei Kleinstweich in der
Developer-Ecke ;)
Und noch'n kleiner Tipp wegen den Bibliotheken, binde die bei
Treiber-Projekten sicherheitshalber statisch in Deine Programme ein
indem Du sie im VisualStudio ins Projekt mit aufnimmst !
Das erspart auch so manche andere Glitches ...
Hoffe weitergeholfen zu haben,
Markus

von Bernd (Gast)


Lesenswert?

So,

habe jetzt mal die VC++ Express Version installiert.

Allerdings bekomme ich immer eine komische Meldung:
"default-int" wird von C++ nicht unterstützt!?!?

Ist es nicht so, dass wenn man keinen Typ angibt immer "int"
angenomme wird. Bisher hat zumindest noch kein Compiler darüber
gemeckert.

Bernd

von Rolf Magnus (Gast)


Lesenswert?

> Ist es nicht so, dass wenn man keinen Typ angibt immer "int"
> angenomme wird.

Richtig, das ist nicht so.

> Bisher hat zumindest noch kein Compiler darüber gemeckert.

Dann waren diese Compiler entweder nicht in den richtigen Modus
geschaltet oder taugen nix. Allerdings wundert mich das, denn im
Gegensatz zu C war es in C++ noch nie erlaubt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.