Najlepsza odpowiedź
Pelles C to kompletne IDE, kompilator i więcej dla Windows 10. Jest również bezpłatne (wymagana jest darowizna, ale nie jest to obowiązkowe). Zawiera kilka interesujących funkcji i zasobów, których nie ma w GCC. Możesz również dowiedzieć się więcej na ten temat tutaj: Strona główna [Pelles C Wiki]
Zaintrygowało mnie to, co ma do zaoferowania Pelles C i postanowiłem pobrać to dla siebie.
Poniższy obrazek przedstawia IDE działające na moim komputerze z Windows 10.
Możesz być mile zaskoczony, tak jak ja. Możesz nawet importować rozwiązania Microsoft Visual Studio!
Poniższy zrzut ekranu przedstawia tradycyjny kod hello world (dostarczany jako część próbek Pelles C), stan wyjścia po kompilacji oraz konsolę pokazującą program wykonany pomyślnie w osobnym oknie konsoli.
Produkty wymienione w innych odpowiedziach są bardzo istotne i warte rozważenia.
Wybierz pakiet, który najbardziej Ci odpowiada!
Odpowiedź
W ciągu dwóch dni na PlayStation pracowałem w Kalifornii dla nieco dziwnego startupu zajmującego się grami. Startup upadł później, ale to już inna historia. Ta historia opowiada o tym, jak cztery tygodnie przed E3 (Electronic Entertainment Expo, ważne wydarzenie branżowe), nasz CTO wszedł do biura naszego zespołu silnikowego niosąc Devkit PS2, położył go na najbliższym biurku i, patrząc nieco winnie jego twarz oznajmiła, że potrzebujemy wersji demonstracyjnej PS2 na E3.
Nasz silnik w tamtym czasie był tylko dla komputerów PC, był dość nowatorski pod względem funkcji, a zwłaszcza miał funkcje, które nigdy zostało zrobione na PS2. Na przykład cienie w całej scenie. Normalne mapowanie wszystkiego.
Widzisz, PS2 składało się z niesamowitego zestawu chipów, które były okaleczone, spętane i zablokowane przez absolutnie bezsensowną architekturę, która, jak podejrzewam, była wynikiem poważnego walki wewnętrzne w Sony. Ale wracając do naszego CTO.
W pokoju zapadła cisza. Joe, Jake i Bill, moi wspólnicy w tamtym czasie, siedzieli i patrzyli na niego. „To żart, prawda?” – powiedział w końcu Jake. To nie był żart.
Nie radzę sobie z przerwami w ciąży. Sprawiają, że zgadzam się na rzeczy, na które nie powinienem się godzić. Bardzo słabo poradziłbym sobie w przesłuchaniu policyjnym. Pięć minut ciszy i wplątam w to własną babcię. Minęło trzydzieści sekund. „Ok, wezmę” – powiedziałem.
Wydaje mi się, że mam sześć tomów podręczników PS2. Zielone. Otworzyłem je. Były po japońsku. Moja znajomość japońskiego ogranicza się w zasadzie do „watashi wa nihongo ga wakarimasen”, co oznacza „nie mówię po japońsku” i może, ale nie musi, być poprawne gramatycznie, aw każdym razie nie jest to zwrot, z którym mógłbym się spotkać podręczniki. Zdobycie angielskiego zestawu zajęło im tydzień, w międzyczasie zbudowałem prototypowy mechanizm renderujący, używając przykładowego kodu (który był komentowany prawie wyłącznie po japońsku, więc wymyślenie tego wymagało trochę pracy detektywa).
Kompilator PS2 został stworzony przez firmę o nazwie SN Systems, zanim został przejęty przez Sony. Mieli dwa kompilatory, SNC i ProDG, gdzie jeśli pamięć mi dobrze służy, ProDG był forkiem GCC. Wydaje mi się, że wybraliśmy ProDG, ale teraz nie jestem pewien. Myślę, że miał wtedy lepszą obsługę szablonów? Coś w tym stylu.
Dostaliśmy nasze demo, z dynamicznymi cieniami na całej scenie i normalnym mapowaniem wszystkiego (myślę, że tylko jedna osoba kiedykolwiek to zrobiła, teraz pracujemy w tej samej firmie), pokazało to za zamkniętymi drzwiami do Playstation Magazine, który prawie się wkurzył. Szkoda, że wkrótce potem firma zbankrutowała i nic nie zostało zrobione z technologią, a ja spędziłem trzy lata swojego życia, robiąc rzeczy, które nigdy nie ujrzały światła dziennego, ale to jest przemysł gier dla ciebie.
Ale.
Przez cztery lub pięć miesięcy mniej więcej kierowałem rozwojem PS2, więc dobrze znałem problemy. W tym czasie złożyliśmy, szacuję, około stu uzasadnionych raportów o błędach do SN Systems (który, powinienem powiedzieć, był fantastycznie szybki w ich rozwiązywaniu i uwielbiałem pracować tam z moimi kontaktami). Rzeczywiste, uczciwe, błędy kompilatora.
Wiele lat później posmakowałem tego z drugiej strony barykady, pracując na dużą skalę nad rzeczywistym kompilatorem firma. Od tego czasu zdecydowałem, że zdecydowanie wolę naprawiać błędy w kompilatorze, nad którym pracuję, niż zgłaszać błędy w kompilatorze, z którym pracuję.
Więc tak, kompilatory popełniają błędy i generują złe programy, a debugowanie tego typu rzeczy może być… interesujące.