Treiber erstellen



  • Naja, das mag wohl sein ^^

    Aber ich möchte halt einfach nur wissen, wo sich der Compiler befindet und wie ich ihn aufrufe (falls er keine GUI besitzt).



  • ein compiler/linker ist, meines wissens nach, im DDK nicht mit dabei, dafür aber das build-utility (weiss nicht warum, m$ ist doof, ist einfach so). du könntest z.b. den von der vs. express edition nehmen.
    🙂



  • †Apokalypse† schrieb:

    Ich finde den richtigen Weg aber nicht...
    Ich wüsste nur gerne wie der compiler heißt (z.B.: comp.exe), wo der sich befindet und was für Parameter ich zum kompilieren übergeben muss..

    Und ich wüsste gerne noch, wie die Driver voids heißen müssen..

    NAME_close
    NAME_open
    NAME_...

    NAME ist frei wählbar, aber der Rest muss _nachricht heißen?

    Der Compiler heisst üblicherweise "cl.exe" und liegt z.B. im Verzeichnis "C:\WINDDK\3790\bin\x86" (kommt drauf an wo du das DDK hin installiert hast - C:\WINDDK ist IIRC Default, 3790 ist die Version des DDK, und x86 die Plattform die du verwenden willst).
    Aufrufen tust du den direkt garnicht, sondern du schreibst ein SOURCES File pro Verzeichnis und ggf. noch ein "DIRS" File welches angibt welche Verzeichnisse alle Code enthalten.

    Dann öffnest du mit den vom DDK im Startmenü installierten Links ein "Build Environment" für die Plattform für die du eben compilieren möchtest ("Build Environment" heisst hier ne Kommandozeile wo die nötigen Environment-Variablen die das DDK braucht passend gesetzt sind), wechselst in das Verzeichnis wo die Sourcen vom Treiber stehen und tippst einfacht "build" ein. Fertig.

    Ich fürchte nur dass ich dir das vollkommen umsonst erkläre, da du wohl "kein Wort C(++)" kannst.
    BTW: die "Driver voids" (das sind Funktionen, Alter 🙂 ) können heissen wie sie wollen, wichtig ist nur die Funktion DriverEntry - dort werden dann die entsprechenden Funktionszeiger gesetzt, damit Windows die ganzen "Driver voids" findet (die im Übrigen garkeine "voids" sind sondern brav einen NTSTATUS zurückliefern).

    p.S.: OK, Korrektur, die "DriverUnload" Funktion hat anscheinend wirklich den Returntyp "void".



  • DDK-freak schrieb:

    ein compiler/linker ist, meines wissens nach, im DDK nicht mit dabei, dafür aber das build-utility (weiss nicht warum, m$ ist doof, ist einfach so). du könntest z.b. den von der vs. express edition nehmen.
    🙂

    rofl, klar ist da ein compiler dabei. du guckst bloss nicht richtig 🙂



  • hustbaer schrieb:

    klar ist da ein compiler dabei. du guckst bloss nicht richtig 🙂

    neuerdings ist einer dabei? ja fein, frühere ddk-versionen hatten keinen (oder keinen für x86, nur für mips und ppc).
    🙂



  • Das DDK hatte schon immer einen Compiler dabei! Wie sollte man denn sonst Treiber entwicklen?



  • Jochen Kalmbach schrieb:

    Das DDK hatte schon immer einen Compiler dabei! Wie sollte man denn sonst Treiber entwicklen?

    du täuschst dich. in älteren DDKs waren nur headers, libs, beispielcodes, build-utility, ein paar spezielle tools und dokumentation, kein compiler, kein linker, jedenfalls nicht für x86. zum treiber coden brauchte noch visual-c++ oder etwas vergleichbares.
    🙂



  • Das DDK hat AFAIK noch nie VC++ als Compiler unterstützt... und es wird heute auch noch nicht unterstützt!
    Du verwechselst das mit dem PSDK!



  • Jochen Kalmbach schrieb:

    Das DDK hat AFAIK noch nie VC++ als Compiler unterstützt... und es wird heute auch noch nicht unterstützt!
    Du verwechselst das mit dem PSDK!

    nein, nein. das PSDK hiess früher einfach Win32-SDK, das DDK gab's da aber auch schon. beide hatten keine compiler dabei. es kann sein, dass ich mich in dem punkt mit dem linker getäuscht habe. im DDK war, glaube ich, doch ein linker für x86 und MASM war auch dabei, aber definitiv kein C-compiler. bei ms waren zu der zeit alle compiler kostenpflichtig. mit dem vc++ kann man übrigens sehr wohl treiber entwickeln, sogar mit der IDE. aber der offizielle weg war (oder ist noch?), dass treiber über das command-line tool 'build.exe' gebaut werden. dieses tool hat dann eine art make-script ausgeführt und compiler und linker aufgerufen. als compiler musste man den von VC++ nehmen, aber ich glaube mit borland gings auch (hehe, hab sogar mal gehört, dass jemand windows treiber in delphi programmiert hat).
    🙂



  • *abo*



  • @treiber-fan: das muss aber schon ziemlich lange her sein. mit dem DDK für windows XP ist auf jeden fall eine komplette toolchain (build, make, compiler, linker) mitgekommen.



  • Ja, natürlich ware früher *alle* Compiler bei MS kostenpflichtig!
    Du konntest früher auch kein DDK runterladen, sondern musstes es bestellen!


Anmelden zum Antworten