Bästa svaret
Pelles C är en komplett IDE, kompilator och mer för Windows 10. Det är också gratis (en donation begärs men inte obligatorisk). Den innehåller några intressanta funktioner och resurser som inte finns i GCC. Du kan också lära dig mer om det här: Huvudsida [Pelles C Wiki]
Jag blev fascinerad av vad Pelles C hade att erbjuda och bestämde mig för att ladda ner det själv.
Bilden nedan visar IDE som körs på min Windows 10-maskin.
Du kanske blir positivt överraskad som jag. Du kan till och med importera Microsoft Visual Studio-lösningar!
Skärmbilden nedan visar den traditionella hejvärldskoden (levereras som en del av Pelles C-proverna), utmatningsstatus efter kompilering och konsolen som visar programmet som körts framgångsrikt i ett separat konsolfönster.
De produkter som nämns i de andra svaren är mycket relevanta och värda att överväga.
Välj ett paket som fungerar bäst för dig!
Svar
Tillbaka på PlayStation 2 dagar arbetade jag på en något konstig spelstart i Kalifornien. Starten imploderade senare, men det är en annan historia. Denna berättelse handlar om hur fyra veckor före E3 (Electronic Entertainment Expo, ett stort branschevenemang), vår CTO gick in i vårt motorteamkontor med en PS2-enhet, plockade ner den på närmaste skrivbord och med en något skyldig blick på hans ansikte, meddelade att vi behöver en PS2-demo för E3.
Vår motor var då bara PC, var ganska banbrytande när det gäller funktioner och i synnerhet hade funktioner som aldrig hade har gjorts på PS2. Hela scenskuggor, för en. Normal kartläggning av allt också.
Du förstår, PS2 bestod av en fantastisk uppsättning marker som var förlamade, hobblade och stymied av en helt vanvittig arkitektur som, tror jag, var resultatet av några allvarliga strider mot Sony. Men tillbaka till vår CTO.
Rummet blev tyst. Joe, Jake och Bill, mina brottpartner vid den tiden, satt där och tittade på honom. ”Det är ett skämt, eller hur?” sa Jake slutligen. Det var inte ett skämt.
Jag är inte bra med gravida pauser. De får mig att gå med på saker jag inte borde gå med på. Jag skulle klara mig mycket dåligt i polisförhör. Fem minuters tystnad, och jag skulle implicera min egen mormor. Trettio sekunder gick. ”Ok, jag tar det”, sa jag.
Jag har sex volymer, tror jag, av PS2-manualer. Gröna. Jag öppnade dem. De var på japanska. Mina kunskaper i japanska är i grunden begränsade till ”watashi wa nihongo ga wakarimasen”, vilket betyder ”Jag talar inte japanska” och kan eller kanske inte är grammatiskt korrekt, och i alla fall är det inte en fras jag troligen skulle stöta på i handböckerna. Det tog dem en vecka att skaffa mig den engelska uppsättningen, under tiden kullade jag ihop en prototypåtergivare med hjälp av provkoden (som kommenterades nästan uteslutande på japanska, så att räkna ut det innebar en del detektivarbete).
PS2-kompilatorn gjordes av ett företag som heter SN Systems innan de förvärvades av Sony. De hade två kompilatorer, SNC och ProDG, men om minnet tjänar mig rätt var ProDG en GCC-gaffel. Jag tror att vi gick med ProDG, men jag är inte säker nu. Jag tror att det hade bättre mallstöd vid den tiden? Något i den riktningen.
Vi fick vår demo med dynamiska skuggor i full scen och normal mappning på allt (jag tror bara att en annan person någonsin har gjort det, vi jobbar på samma företag nu), visade det bakom stängda dörrar till Playstation Magazine som nästan förbannade sig. Synd att företaget gick ur drift kort därefter och ingenting gjordes någonsin med tekniken och jag tillbringade tre år av mitt liv med att göra saker som aldrig såg dagens ljus, men det är spelbranschen för dig.
Men.
I fyra eller fem månader körde jag mer eller mindre vår PS2-utveckling, och var så mycket bekant med problemen. Under den här tiden hade vi lämnat in, uppskattar jag, cirka hundra legitima felrapporter till SN Systems (som jag skulle säga var fantastiskt snabba för att ta itu med dem, och jag älskade att arbeta med mina kontakter där). Verklig, ärlig till godhet, kompilatorfel.
Många år senare fick jag lite smak av detta från andra sidan barrikaderna, medan jag arbetade med en verklig kompilator i stort företag. Sedan har jag beslutat att jag föredrar att fixa buggar i en kompilator jag jobbar med, än att rapportera buggar i en kompilator som jag jobbar med.
Så ja, kompilatorer gör misstag och de genererar fel program, och felsökning av den typen av saker kan vara … intressant.