Beste antwoord
Pelles C is een complete IDE, compiler en meer voor Windows 10. Het is ook gratis (een donatie is vereist, maar niet verplicht). Het bevat enkele interessante functies en bronnen die niet in GCC te vinden zijn. U kunt er hier ook meer over lezen: Hoofdpagina [Pelles C Wiki]
Ik was geïntrigeerd door wat Pelles C te bieden had en besloot het voor mezelf te downloaden.
De onderstaande afbeelding toont de IDE die draait op mijn Windows 10-computer.
Je zult misschien aangenaam verrast zijn zoals ik was. U kunt zelfs Microsoft Visual Studio-oplossingen importeren!
De onderstaande schermafbeelding toont de traditionele hallo-wereldcode (geleverd als onderdeel van de Pelles C-voorbeelden), de uitvoerstatus na het compileren en de console die het programma toont dat met succes is uitgevoerd in een apart consolevenster.
De producten die in de andere antwoorden worden genoemd, zijn zeer relevant en verdienen uw aandacht.
Kies een pakket dat het beste bij je past!
Antwoord
In de PlayStation 2-dagen werkte ik bij een ietwat rare game-startup in Californië. De startup is later geïmplodeerd, maar dat is een ander verhaal. Dit verhaal gaat over hoe vier weken voor E3 (de Electronic Entertainment Expo, een groot evenement in de branche), onze CTO het kantoor van ons motorteam binnenliep met een PS2-devkit, die op het dichtstbijzijnde bureau gooide en met een ietwat schuldige blik toekeek zijn gezicht, kondigde aan dat we een PS2-demo nodig hebben voor E3.
Onze engine was op dat moment alleen voor pcs, was redelijk geavanceerd in termen van functies en had in het bijzonder functies die nog nooit gedaan op de PS2. Schaduwen met volledige scènes, bijvoorbeeld. Ook normale mapping op alles.
Zie je, de PS2 was samengesteld uit een verbazingwekkende set chips die waren kreupel, gehobbeld en gehinderd door een absoluut onzinnige architectuur die, naar ik vermoed, het resultaat was van een aantal ernstige onderlinge strijd bij Sony. Maar, terug naar onze CTO.
Het werd stil in de kamer. Joe, Jake en Bill, mijn toenmalige partners in crime, zaten naar hem te kijken. “Dat is toch een grap?” zei Jake eindelijk. Het was geen grap.
Ik ben niet goed in zwangerschapspauzes. Ze zorgen ervoor dat ik akkoord ga met dingen waar ik niet mee akkoord zou moeten gaan. Ik zou het erg slecht doen bij een politie-verhoor. Vijf minuten stilte, en ik zou mijn eigen oma erbij betrekken. Er gingen dertig seconden voorbij. “Oké, ik neem het aan,” zei ik.
Ik heb denk ik zes delen PS2-handleidingen. Groene. Ik heb ze geopend. Ze waren in het Japans. Mijn kennis van het Japans is in wezen beperkt tot “watashi wa nihongo ga wakarimasen”, wat betekent “Ik spreek geen Japans” en kan grammaticaal correct zijn of niet, en is in ieder geval geen zin die ik waarschijnlijk tegenkwam in de handleidingen. Het kostte ze een week om me de Engelse set te bezorgen, in de tussentijd heb ik een prototype renderer in elkaar gestoken met behulp van de voorbeeldcode (die bijna uitsluitend in het Japans werd becommentarieerd, dus het uitzoeken was wat speurwerk).
De PS2-compiler is gemaakt door een bedrijf genaamd SN Systems, voordat ze werden overgenomen door Sony. Ze hadden twee compilers, SNC en ProDG, waar als het geheugen me goed doet, ProDG een GCC-vork was. Ik geloof dat we met ProDG zijn gegaan, maar weet het nu niet zeker. Ik denk dat het destijds betere sjabloonondersteuning had? Iets in die richting.
We kregen onze demo, met dynamische schaduwen in de volledige scène en normale mapping van alles (ik denk dat maar één andere persoon dat ooit heeft gedaan, we werken nu bij hetzelfde bedrijf), toonde het achter gesloten deuren naar het Playstation Magazine die zichzelf bijna piste. Jammer dat het bedrijf kort daarna failliet ging en er nooit iets met de technologie werd gedaan en ik heb drie jaar van mijn leven dingen gedaan die nooit het daglicht zagen, maar dat is de game-industrie voor jou.
Maar.
Vier of vijf maanden lang heb ik min of meer onze PS2-ontwikkeling gestimuleerd en was ik dus zeer bekend met de problemen. Gedurende deze tijd hadden we, naar ik schat, ongeveer honderd legitieme bugrapporten ingediend bij SN Systems (die, zou ik moeten zeggen, fantastisch snel waren om ze aan te pakken, en ik vond het geweldig om daar met mijn contacten samen te werken). Werkelijke, eerlijk-tot-goedheid, compiler-bugs.
Vele jaren later kreeg ik hiervan een voorproefje van de andere kant van de barricades, terwijl ik aan een echte compiler werkte in het algemeen bedrijf. Ik heb sindsdien besloten dat ik de voorkeur geef aan het oplossen van bugs in een compiler waar ik aan werk, dan aan het rapporteren van bugs in een compiler waarmee ik werk.
Dus ja, compilers maken fouten, en ze genereren verkeerde programmas, en het debuggen van dat soort dingen kan… interessant zijn.