Pytania otagowane jako compiler-construction

Konstrukcja kompilatora tagów powinna być stosowana w pytaniach dotyczących programowania kompilatorów lub w przypadku pytań o szczegółowe wewnętrzne działanie kompilatorów. NIE UŻYWAJ w przypadku pytań dotyczących * używania * określonych kompilatorów lub błędów kompilacji.

16
Gdzie są przechowywane zmienne statyczne w C i C ++?
W jakim segmencie (.BSS, .DATA, inny) pliku wykonywalnego przechowywane są zmienne statyczne, aby nie powodowały kolizji nazw? Na przykład: foo.c: bar.c: static int foo = 1; static int foo = 10; void fooTest() { void barTest() { static int bar = 2; static int bar = 20; foo++; foo++; bar++; …


4
W jaki sposób kompilator C # wykrywa typy COM?
EDYCJA: Zapisałem wyniki jako wpis na blogu . Kompilator C # traktuje typy COM nieco magicznie. Na przykład to stwierdzenie wygląda normalnie ... Word.Application app = new Word.Application(); ... dopóki nie zdasz sobie sprawy, że Applicationto interfejs. Wywołanie konstruktora w interfejsie? Yoiks! To faktycznie jest tłumaczone na wywołanie do, Type.GetTypeFromCLSID()a …

11
Przeanalizuj plik .py, przeczytaj AST, zmodyfikuj go, a następnie zapisz ponownie zmodyfikowany kod źródłowy
Chcę programowo edytować kod źródłowy Pythona. Zasadniczo chcę przeczytać .pyplik, wygenerować AST , a następnie zapisać z powrotem zmodyfikowany kod źródłowy Pythona (tj. Inny .pyplik). Istnieją sposoby analizowania / kompilowania kodu źródłowego języka Python przy użyciu standardowych modułów języka Python, takich jak astlub compiler. Jednak nie sądzę, aby którykolwiek z …


3
W jakim języku jest napisany kompilator C #?
Spojrzałem na kod źródłowy pod adresem http://referencesource.microsoft.com/ i okazało się, że cały kod źródłowy jest w C #. Przyjrzałem się również kodowi źródłowemu nowej platformy kompilatora C # ( Roslyn ) i jest on również w języku C #. Jak to możliwe? Czy kompilator języka C # jest napisany w …

2
Jaka jest różnica między Sjlj vs Dwarf vs SEH?
Nie mogę znaleźć wystarczających informacji, aby zdecydować, którego kompilatora powinienem użyć do skompilowania projektu. Na różnych komputerach znajduje się kilka programów symulujących proces. W systemie Linux używam GCC. Wszystko w porządku. Potrafię zoptymalizować kod, szybko się kompiluje i zużywa mało pamięci. Robię własny benchmark z kompilatorami MSVC i GCC. Później …



1
TargetedPatchingOptOut: „Wydajność krytyczna dla inline poza granicami obrazu NGen”?
Przeglądałem kilka klas frameworka przy użyciu reflektora i zauważyłem, że wiele metod i właściwości ma następujący atrybut [TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")] Jestem prawie pewien, że widziałem powyższy komentarz gdzie indziej i nigdy go nie śledziłem. Czy ktoś mógłby mi powiedzieć, co to oznacza w C # …


9
Czy funkcja rekurencyjna może być wbudowana?
inline int factorial(int n) { if(!n) return 1; else return n*factorial(n-1); } Jak czytałem to , okazało się, że powyższy kod doprowadziłoby do „nieskończonej kompilacji”, jeśli nie obsługiwane przez kompilator poprawnie. W jaki sposób kompilator decyduje, czy wstawić funkcję, czy nie?

4
błąd: niepodzielna właściwość do zapisu nie może sparować zsyntetyzowanej metody ustawiającej / pobierającej z funkcją ustawiającą / pobierającą zdefiniowaną przez użytkownika
Niedawno próbowałem skompilować starszy projekt Xcode (który wcześniej kompilował się dobrze), a teraz widzę wiele błędów tego formularza: error: writable atomic property 'someProperty' cannot pair a synthesized setter/getter with a user defined setter/getter Wzorzec kodu, który powoduje te błędy, zawsze wygląda następująco: // Interface: @property (retain) NSObject * someProperty; // …

22
Kompilator C dla systemu Windows? [Zamknięte]
W obecnym stanie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi będą poparte faktami, referencjami lub ekspertyzą, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy, aby uzyskać …


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.