Raz na jakiś czas kod C ++ nie będzie działał, gdy zostanie skompilowany z pewnym poziomem optymalizacji. Może to być kompilator dokonujący optymalizacji, który łamie kod, lub może to być kod zawierający niezdefiniowane zachowanie, które pozwala kompilatorowi robić to, co czuje. Załóżmy, że mam fragment kodu, który się psuje, gdy …
O ile mi wiadomo, kompilatory są przeznaczone dla programistów kompilujących swój kod w pliki wykonywalne (kod maszynowy). Kompilatory nie obejmują komputera klienta ani systemu użytkownika końcowego. Zamiast tego programiści używają kompilatora do konwersji kodu na kod maszynowy, który jest następnie przenoszony na inne maszyny w celu wykorzystania jako aplikacje. Czy …
Kiedy programowanie w CI uznało za nieocenione pakowanie struktur za pomocą __attribute__((__packed__))atrybutu GCC, dzięki czemu mogę łatwo przekonwertować ustrukturyzowaną część pamięci ulotnej na tablicę bajtów, która ma być przesłana przez magistralę, zapisana w pamięci lub zastosowana do bloku rejestrów. Spakowane struktury gwarantują, że traktowane jako tablica bajtów nie będą zawierać …
Nie rozumiem tego zdania z artykułu w Wikipedii na temat problemu Dangling Else : [Problem Dangling Else] to problem, który często pojawia się w konstrukcji kompilatora, szczególnie w parsowaniu bez skanera. Czy ktoś może mi wyjaśnić, w jaki sposób techniki analizy bez skanera mogą zaostrzyć ten problem? Wydaje mi się, …
Nowy w C ++! Czytałem więc: http://www.learncpp.com/cpp-tutorial/110-a-first-look-at-the-preprocessor/ Nagłówki Ponieważ pliki nagłówkowe mogą zawierać inne pliki nagłówkowe, możliwe jest, że plik nagłówkowy zostanie dołączony wiele razy. Tworzymy więc wytyczne preprocesora, aby tego uniknąć. Ale nie jestem pewien - dlaczego kompilator nie może po prostu ... nie importować tego samego dwa razy? …
Mój instruktor klasy Mikroprocesor dał nam zadanie i powiedział: „Napisz asembler w C.” - Mój umiłowany profesorze Wydawało mi się to trochę nielogiczne. Jeśli się nie mylę, asembler to pierwszy krok od Kodu Maszynowego do podróży po językach wyższego poziomu. Mam na myśli, że C jest językiem wyższego poziomu niż …
Czy kompilacja, która generuje tymczasowy kod bajtowy (jak w Javie), zamiast przechodzić „do samego końca” do kodu maszynowego, generalnie wiąże się z mniejszą złożonością (a zatem prawdopodobnie zajmuje mniej czasu)?
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 5 lat temu . Czasami kompilatory wywołują funkcje wbudowane. Oznacza to, że przenoszą kod wywoływanej funkcji do funkcji wywołującej. …
Próbuję lepiej zrozumieć, co byłoby wymagane, aby kompilator mógł dokonywać inteligentnych wyborów dotyczących współbieżności w imieniu programisty. Zdaję sobie sprawę, że istnieje wiele trudnych aspektów tego problemu, na przykład: Zapewnienie, że nie ma warunków wyścigu Zapewnienie, że kod, który ma być uruchamiany jednocześnie, nie będzie miał skutków ubocznych, które wpływają …
Dlaczego? W zależności od źródła najprawdopodobniej kompilator Intela lub zdecydowanie kompilator generujący najszybsze pliki wykonywalne dla architektury x86 (skrócenie czasu wykonywania o 5 do 100%). Intel oferuje swoje kompilatory dla Linuksa na niekomercyjnej licencji za darmo (myślę, że czytałem, że jest on darmowy gdzieś na ich stronie: Intel - niekomercyjne …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 5 lat temu . Istnieją 2 argumenty przemawiające za udostępnianiem bibliotek: Pomaga zmniejszyć miejsce na dysku. Gdy …
Rozumiem, że kompilatory C ++ nie są ze sobą kompatybilne. Jednak nie byłem w stanie znaleźć niczego na ten temat, w szczególności dla C. Wiem, że standard C pozostawia wiele miejsca dla kompilatorów do implementacji rzeczy, które uznają za stosowne: na przykład rozmiar i wyrównanie większości (wszystkich?) Typów danych jest …
W językach dynamicznych, takich jak JavaScript lub Python, typ zmiennej jest określany w czasie wykonywania. Jest to jeden z powodów, dla których są one wolniejsze niż języki pisane, takie jak Java. Jak przeprowadzana jest kontrola typu? Co jest zasadniczym powodem, dla którego ten proces jest powolny?
Powiedzmy, że chciałem stworzyć dynamiczny kompilator / interpreter języka, być może interpreter schematu, na platformie .NET w obecnym kształcie. Czy lepiej byłoby użyć Dynamic Language Runtime (DLR) lub C # 4.0 do wdrożenia funkcji dynamicznych mojego języka? Czy potrzebuję obu? Wiem, że w tej dziedzinie wykonano inne prace, w szczególności …
Jest to część serii pytań, które koncentrują się na projekcie o nazwie Projekt abstrakcji, którego celem jest wyodrębnienie pojęć używanych w projektowaniu języka w formie frameworka. Kolejną związaną z tym stronę związaną z typowaniem strukturalnym można obejrzeć tutaj . Meta-temat związany z zapytaniem dotyczącym frameworka i odpowiedniego miejsca do opublikowania …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.