c - WinSDK 7.1: Kom i gang med Windows SDK Værktøjer til indbygget Windows app udvikling?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg kunne endelig installere Windows SDK-værktøjerne (v.7.1) på mit Windows Vista-system. Jeg havde allerede GCC compiler installeret, og det er det, jeg for øjeblikket bruger til at kompilere C-kode.


Hvor finder jeg dokumentationen til WinSDK og hvordan skal jeg gå om at inkludere den i GCC?


Jeg kunne ikke finde nogen forklaringer i udgivelsesnotaterne eller noget. Men hvis du kan finde noget, der forklarer det, er du velkommen til at give mig et link.

Bedste reference


Det kan måske være underligt for dig, men du behøvede ikke at downloade et separat Windows SDK til at udvikle til Windows, fordi Visual Studio og MingW/GCC og andre allerede allerede indeholder alt, hvad de fleste mennesker ville have brug for. (Nogle mennesker ville sig, at Visual Studio og andre værktøjer, skib med deres egen version af SDK'en, men jeg tror, ​​at det bare forvirrer problemet yderligere.)


Du har brug for Visual Studio først. Og måske nogle dage senere kan du tilføje Windows SDK-tilføjelsen til det, men det er ikke beregnet til at blive brugt af sig selv eller i kombination med GCC.
Dybest set, nogle af SDK indhold duplikater ting, der allerede er inkluderet i Visual C ++ og Visual Studio og nogle af det er ekstra værktøjer som WinDbg .


Lad mig forklare. Windows SDK er faktisk nyttigt til at gøre visse ting i Windows, som nybegyndere sandsynligvis ikke behøver at gøre. Hvis du f.eks. Skal integrere med nogle specialiserede API'er, indeholder Windows SDK en masse dokumentation, eksempler og et mere komplet sæt sættekstfiler, der ikke var inkluderet i Visual Studio, fordi de 'er mindre hyppigt anvendte API'er. Kern API-overskrifterne og dokumentationen til Windows er allerede i Visual Studio, så teknisk set indeholder Visual Studio allerede kernen SDK, og den såkaldte SDK er et 'ekstra SDK' eller et 'lavt SDK for purister, avancerede brugere og visse typer systemer eller native level programmering ', men ikke nødvendigt, for de fleste typiske slutbruger applikationsudvikling.


Men hvis du vil lære Win32 native programmering ved hjælp af C eller C ++, eller hvis du bare vil skrive indbyggede Windows-programmer, behøver du PROBABEL ikke noget, der kommer i SDK'en, og selv da har du brug for Visual Studio først og SDK-sekunden. Lad mig forklare:



  1. Mange værktøjer, der giver dig mulighed for at skrive rene native Windows-programmer, giver API'er på højere niveau, herunder Visual Studio, som giver dig MFC eller ATL. Ingen af ​​disse værktøjer har brug for SDK'en til at arbejde. SDK'en, såkaldt, er mere en 'ekstra crap', som vi ikke sender med en visuel studie, fordi næsten ingen har brug for det ', hvilket Microsoft forkortede SDK.

  2. Du behøver slet ikke SDK'en, hvis du har tænkt dig at bruge GCC. Hvis du vil skrive en ansøgning til Windows i bare C eller bare C ++, kan du bare installere mingw, hvis du insisterer på at bruge gcc og arbejder fra kommandolinjen.

  3. Den normale måde at skrive indbyggede applikationer på er at bruge den gratis Microsoft Visual C ++ Express-udgave, og du kan bruge den til at skrive enten C- eller C ++-apps, og den indeholder hovedfiler og biblioteker, du skal skrive næsten alle native windows applikationsfunktion du har brug for uden behov for SDK. Visual Studio er en flot moderne IDE, og masser af bekvemme cool funktioner som kode færdiggørelse og så videre. SDK'en du downloadede indeholder ikke noget af det.

  4. Alt hvad du behøver at vide om de rå Win32 API'er, du kan lære at bruge webformatet af MSDN-dokumentationen eller hjælpen i Visual Studio. De grundlæggende Windows-API'er, som WinCreateWindow, dokumenteres allerede i Visual Studio-hjælp og MSDN-hjælp, og du behøver ikke SDK-docs til de fleste af de centrale Windows-API'er.



Hvis du bare er kommet i gang, kan jeg foreslå, at du bare skal få den gratis (men ikke åbne kilde) Visual Studio 2010 Express. Det er den anbefalede måde at komme i gang, ikke SDK.


Jeg er helt sikker på, at Windows 7 SDK, som du downloadede, ikke er beregnet til brug sammen med GCC, og hvis du har brug for en version af Windows header-filer, der arbejder med en Gnu C/C ++-kompiler, vil eventuelle grundlæggende Win32 API'er som GDI og grundlæggende Windowing API ting er allerede bundtet i mingw version af gcc. [2]


Du vil måske også gerne vide om DDK, som er som SDK, men som er orienteret mod Device Driver og native NT-mode udvikling.