nwcc jest mała kompilator C dla systemów Unix, które napisałem w moim wolnego czasu, dla zabawy i udowodnić sobie, że mogę. Zacząłem projekt w sierpniu 2003 roku, ale ponieważ miałem pracę i życie i kilka innych projektów kodu hobby, zajęło mi aż do jesieni 2005 roku, aby pracować z różnymi konstrukcjami języka C.
Więc co nowego ma nwcc wnieść na stół? Co najważniejsze, nowy kod: Napisałem wszystko od podstaw - w tym lexer, parser i zaplecza.
Kod nwcc jest napisane w C
Ta wersja nie jest przeznaczony do poważnego użytku, ale przynajmniej nwcc jest wystarczająco silny, aby skompilować się (wynik, który można skompilować nwcc również) i powinny zatem być w stanie zająć się przynajmniej przez kilka małych programów. Istnieje jeszcze kilka rzeczy brakuje / uszkodzony, ale sytuacja się poprawia prawie codziennie (mogę przesłać moje zmiany do SF gdy dodaję / fix coś interesującego.)
To wymaga dużo pracy, aby nawet podzbiór języka C kompilacji, więc fakt, że czegoś brakuje lub jest on zawinił w nwcc nie znaczy, że nie dbam o danym obszarze języka kompilatora C lub projektu ; To tylko oznacza, że nie dostał się, aby robić to dobrze, a nawet w ogóle, ale
Opis .
- Istnieją pewne funkcje w języku C brakuje; Przede wszystkim wsparcie dla zmiennoprzecinkowych, bitfields i kilka innych rzeczy. Wiele innych rzeczy są podzielone (prawdopodobnie istnieją błędy w prawie wszystkich funkcji języka realizowanego przez nwcc)
- Nie istnieją oferuje deweloper zasilania wykorzystywane do ustalonych kompilatory głównego nurtu rozważy interesujące, ale (z wyjątkiem, być może, z funkcją ochrony stosu.) Niestety. Nie ma nic poza zwykłym głupim kompilacji; Brak wsparcia dla tworzenia bibliotek współdzielonych, brak wsparcia dla debugowania i profilowania, nie ma nic,
- Nie ma obecnie tylko dla procesorów 80x86 backend (który generuje kod dla NASMa nasm i działa na Linux, FreeBSD i OpenBSD),
- Nie ma absolutnie żadnych optymalizacji, co oznacza, że wygenerowany kod jest bardzo powolny w porównaniu do wyniku z siedzibą kompilatorów. Będę nad tym pracować szybko, ale należy zrozumieć, że moje główne obawy są teraz poprawności i przenośność kodu, a nie prędkości (jest to na tyle mocno, że powolne prace kodu!)
Co nowego w tym wydaniu:
- To wydanie naprawia kilka (naprawdę nie za dużo!) ogólne i specyficzne dla PIC, że były błędy napotkane podczas kompilacji Tcl i mksh.
Co nowego w wersji 0.7.8:
- Ta wersja dodaje wsparcie dla systemu Mac OS X na x86 i AMD64 i NetBSD na systemach x86. Niezależny od platformy różne błędy zostały również ustalone.
Co nowego w wersji 0.7.7:
- W tej wersji dodano wsparcie dla systemu Linux / PPC64 i poprawek wiele błędów specyficznych dla PPC.
Komentarze nie znaleziono