Går du og kigger lidt efter en C/C++ compiler i Windows Vista, så findes den som standard ikke i systemet. Som det første tænker man så, at man skal til at finde en tredjeparts compiler til formålet, men dette er ikke nødvendigt. Til Vista, findes nemlig også en SDK, som indeholder mange forskellige udviklingsværktøjer. I blandt disse finder vi også en C/C++ compiler. Så ligesom man installerer JDK for at oversætte Java med javac, benytter vi her et værktøj fra Vistas SDK (Software Development Kit) til at oversætte C-kode.
Så for at få opsat denne compiler i Windows Vista, først hente SDK’en:
Microsoft Windows SDK for Windows Vista (1 KB – 1178.3 MB)
Under installationen vil vi blive bedt om at vælge, hvad vi vil have installeret. Hvis man her kun er interesseret i compileren, vælges Visual C++ Compilers. Jeg vælger her også at installere et par andre værktøjer. Sørg for at udelade Documentation og Samples, hvis du ikke er interesseret i disse.
Nu har vi således fået installeret disse udviklingsværktøjer. For nu at benytte os af f.eks. et Vista Release udviklingsmiljøet, skal du køre:
cmd.exe /V:ON /E:ON./K "C:\Program Files\Microsoft SDKs\
Windows\v6.0\Bin\setenv.cmd" /RELEASE
I stedet for at der bare åbnes et almindelig Kommandoprompt-vindue, åbnes et Microsoft Windows Vista x86 RELEASE Build Environment-vindue, hvori vi kan benytte alle dets udviklingsværktøjer. Det som setenv.cmd først og fremmest gør, er at opsætte systemvariabler til værktøjerne.
Læg her mærke til at teksten farve er grøn. Ved benyttelse af /DEBUG, vil farven være gul. Hvis du har 64-bit Windows Vista vil det være x64. Den platform man ønsker at benytte, defineres ved brug af forskellige andre argumenter på setenv.cmd. F.eks. kan du skifte til 64-bit Windows XP, ved brug af: setenv.cmd /RELEASE /XP /x64.
Det vil være vanskelige at huske hovedkommandoen til vores udviklingsmiljø, er det her en god idé at angive en genvej til det, som eventuelt er placeret på skrivebordet. Ved oprettelse af en ny genvej skal der her skrives, hvor elementet er placeret. Dette er i dette tilfælde kommandoen fra før:
Efterfølgende giver vi genvejen et fornuftigt navn, hvorefter vi eventuelt kan vælge et nyt ikon til genvejen.
Så, nu har vi alt dette på plads, så var at vi her ville anvende C/C++ compileren, som et eksempel. Nu, hvor vi har det nye miljø at arbejde i, vil vi have compileren Microsoft 32-bit C/C++ Optimizing Compiler tilgængelig, ved at skrive cl. Den fulde syntaks for cl er:
cl [ option... ] filename... [/link linkoption... ]
Option, angiver hvilke indstillinger man vil benytte sammen med en givet fil med navnet filename. Disse indstillinger findes der mange af, hvor f.eks. en del af dem, er om optimering af koden. F.eks. giver henholdsvis /O1, /02 og /Ox, optimering af plads, fart og “maksimal optimering”.
Så lad os sige, vi vil oversætte følgende C-kode, som kan gange to hel tal med hinanden, ved brug af kun addition og subtraktion:
int main(int argc, char *argv[]) {
int tal1 = atoi(argv[1]);
int tal2 = atoi(argv[2]);
printf("Produktet af %d og %d er: %d",
tal1, tal2, produkt(tal1, tal2));
}
int produkt(int x, int y) {
int p;
int sign;
sign = 1;
if ( x < 0 ) {
x = -x;
sign = 0;
}
p = 0;
while ( x > 0 ) {
x = x - 1;
p = p + y;
}
if ( sign == 0 ) p = -p;
return p;
}
Så skal vi i kommandolinjen skrive: cl produkt.cHermed bliver koden nu oversat til en eksekverbar fil (.exe):
Her benytter vores main-metode sig af to argumenter. Så, hvis vi her ønsker at se, hvad produktet af -5 og 6 er, skriver vi: produkt.exe -5 6
Og det er heldigvis det helt korrekte, så C-koden fungerer altså helt korrekt.
- Peter Sandberg Brun



