Pytania otagowane jako compiler

Kompilator to program komputerowy, który przekształca kod źródłowy napisany w jednym języku programowania na inny język komputera.

5
Jak napisać bardzo prosty kompilator
Zaawansowane kompilatory, takie jak gcckompilowanie kodów do plików odczytywalnych maszynowo zgodnie z językiem, w którym kod został napisany (np. C, C ++ itp.). W rzeczywistości interpretują znaczenie każdego kodu zgodnie z biblioteką i funkcjami odpowiednich języków. Popraw mnie, jeśli się mylę. Chcę lepiej zrozumieć kompilatory, pisząc bardzo prosty kompilator (prawdopodobnie …
214 c  compiler  compilation  gcc 

10
Czy hack kompilatora Kena Thompsona nadal stanowi zagrożenie?
Ken Thompson Hack (1984) Ken Thompson przedstawił metodę uszkodzenia binarnego kompilatora (i innego skompilowanego oprogramowania, takiego jak skrypt logowania w systemie * nix) w 1984 roku. Byłem ciekawy, czy współczesna kompilacja usunęła tę lukę w zabezpieczeniach, czy nie. Krótki opis: Ponownie napisz kod kompilatora, aby zawierał 2 błędy: Podczas kompilacji …
156 linux  unix  compiler  hacking 

5
Dlaczego Java w ogóle nie ma optymalizacji pod kątem rekurencji?
Z tego, co przeczytałem: Powodem jest to, że nie jest łatwo ustalić, która metoda zostanie faktycznie wywołana, ponieważ mamy dziedziczenie. Dlaczego jednak Java nie ma przynajmniej optymalizacji rekurencji dla metod statycznych i nie wymusza właściwego sposobu wywoływania metod statycznych za pomocą kompilatora? Dlaczego Java nie ma żadnego wsparcia dla rekursji …


6
Jak działa wyrzucanie elementów bezużytecznych w językach, które są kompilowane natywnie?
Po przejrzeniu kilku odpowiedzi na temat przepełnienia stosu jest jasne, że niektóre natywnie skompilowane języki mają funkcję usuwania śmieci . Ale nie jest dla mnie jasne, jak dokładnie by to działało. Rozumiem, jak wyrzucanie elementów bezużytecznych może działać z interpretowanym językiem. Śmieciarka po prostu działałaby obok interpretera i usuwała nieużywane …

11
Dlaczego oprogramowanie jest specyficzne dla systemu operacyjnego?
Próbuję ustalić szczegóły techniczne, dlaczego oprogramowanie wyprodukowane przy użyciu języków programowania dla niektórych systemów operacyjnych działa tylko z nimi. Rozumiem, że pliki binarne są specyficzne dla niektórych procesorów ze względu na język maszynowy, który rozumieją i różne zestawy instrukcji dla różnych procesorów. Ale skąd bierze się specyfika systemu operacyjnego? Zakładałem, …

5
Czy Python jest interpretowany lub kompilowany?
To tylko zastanawiam się, kiedy czytałem o językach interpretowanych i kompilowanych. Ruby jest bez wątpienia językiem interpretowanym, ponieważ kod źródłowy jest przetwarzany przez interpretera w punkcie wykonania. Przeciwnie, C jest językiem kompilowanym, ponieważ najpierw należy skompilować kod źródłowy zgodnie z maszyną, a następnie wykonać. Wynikiem tego jest znacznie szybsze wykonanie. …

5
Dlaczego jest tak mało kompilatorów C?
C jest jednym z najczęściej używanych języków na świecie. Stanowi ogromną część istniejącego kodu i jest nadal używany do ogromnej ilości nowego kodu. Jest uwielbiany przez użytkowników, jest tak szeroko rozpowszechniony, że możliwość uruchamiania C jest dla wielu nieformalną definicją platformy i jest chwalony przez fanów za to, że jest …


19
Dlaczego kompilatory są tak niezawodne?
Używamy kompilatorów na co dzień, jakby ich poprawność była podana, ale kompilatory są również programami i mogą potencjalnie zawierać błędy. Zawsze zastanawiałem się nad tą niezawodnością. Czy kiedykolwiek napotkałeś błąd w samym kompilatorze? Co to było i jak zdałeś sobie sprawę, że problem tkwi w samym kompilatorze? ... a jak …


14
Czy możemy sformułować ogólne stwierdzenia dotyczące wydajności kodu interpretowanego w porównaniu do kodu skompilowanego?
Porównuję dwie technologie, aby uzyskać rekomendację, z której firma powinna skorzystać. Kod technologii A jest interpretowany, podczas gdy kod technologii B jest kompilowany do kodu maszynowego. W moim porównaniu stwierdzam, że ogólnie technologia B miałaby lepszą wydajność, ponieważ nie ma dodatkowego obciążenia związanego z procesem interpretacji. Oświadczam również, że ponieważ …

8
Jak możemy być pewni, że niższe komponenty programowania komputerowego, takie jak kompilatory, asemblery, instrukcje maszynowe itp. Są bezbłędne?
Ponieważ coraz bardziej polegamy na komputerach, w tym na bardzo ważnych zadaniach codziennego życia, zastanawiałem się tylko, w jaki sposób testowane są te istotne elementy. Z technicznego punktu widzenia, w jaki sposób testowane są kompilatory i asemblery? (Przypuszczam, że dotyczy to problemu zatrzymania !!)

9
Czy kompilatory Intel są naprawdę lepsze od kompilatorów Microsoft? [Zamknięte]
Wiele lat temu byłem zaskoczony, gdy odkryłem, że Intel sprzedaje kompilatory kompatybilne z Visual Studio. Próbowałem w szczególności dla C / C ++, a także fantastycznych narzędzi diagnostycznych. Ale kod po prostu nie był tak intensywny obliczeniowo, aby zauważyć różnicę. Jedyne wrażenie brzmiało: czy Intel naprawdę zrobił to teraz dla …
56 compiler 

5
Co oznacza „bezkontekstowy” w znaczeniu „gramatyki bezkontekstowej”?
Biorąc pod uwagę ilość materiału, który próbuje wyjaśnić, czym jest gramatyka bezkontekstowa (CFG), zaskoczyło mnie, że bardzo niewiele (w mojej próbce, mniej niż 1 na 20) wyjaśnia, dlaczego takie gramatyki nazywane są „kontekstowo” wolny". Moim zdaniem, nikomu się to nie udaje. Moje pytanie brzmi: dlaczego gramatyki bezkontekstowe nazywane są bezkontekstowymi? …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.