Als «compiler-construction» getaggte Fragen

Die Tag-Compiler-Konstruktion sollte auf Fragen zur Programmierung von Compilern oder auf Fragen zum detaillierten Innenleben von Compilern angewendet werden. NICHT VERWENDEN für Fragen zur * Verwendung * bestimmter Compiler oder Kompilierungsfehler.

16
Wo sind statische Variablen in C und C ++ gespeichert?
In welchem ​​Segment (.BSS, .DATA, other) einer ausführbaren Datei werden statische Variablen gespeichert, damit sie keine Namenskollision haben? Beispielsweise: 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
Wie erkennt der C # -Compiler COM-Typen?
EDIT: Ich habe die Ergebnisse als Blog-Beitrag geschrieben . Der C # -Compiler behandelt COM-Typen etwas magisch. Zum Beispiel sieht diese Aussage normal aus ... Word.Application app = new Word.Application(); ... bis Sie erkennen, dass dies Applicationeine Schnittstelle ist. Einen Konstruktor auf einer Schnittstelle aufrufen? Yoiks! Dies wird tatsächlich in …

11
Analysieren Sie eine .py-Datei, lesen Sie den AST, ändern Sie ihn und schreiben Sie den geänderten Quellcode zurück
Ich möchte den Python-Quellcode programmgesteuert bearbeiten. Grundsätzlich möchte ich eine .pyDatei lesen , den AST generieren und dann den geänderten Python-Quellcode (dh eine andere .pyDatei) zurückschreiben . Es gibt Möglichkeiten, Python-Quellcode mithilfe von Standard-Python-Modulen wie astoder zu analysieren / kompilieren compiler. Ich glaube jedoch nicht, dass einer von ihnen Möglichkeiten …

6
Wie wurde der erste Compiler geschrieben?
Ich hörte von dem Huhn und dem Ei und dem Bootstrapping. Ich habe ein paar Fragen. Was hat den ersten Compiler geschrieben, der etwas in binäre Anweisungen konvertiert hat? Wird die Assembly kompiliert oder in binäre Anweisungen übersetzt? ... Es fällt mir schwer zu glauben, dass sie einen Compiler in …





1
TargetedPatchingOptOut: „Leistung, die für die Inline-Inline über NGen-Bildgrenzen hinweg entscheidend ist“?
Ich habe einige Framework-Klassen mit Reflektor durchlaufen und festgestellt, dass einige der Methoden und Eigenschaften das folgende Attribut aufweisen [TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")] Ich bin mir ziemlich sicher, dass ich den obigen Kommentar auch woanders gesehen und ihn nie weiterverfolgt habe. Könnte mir bitte jemand sagen, …


9
Kann eine rekursive Funktion inline sein?
inline int factorial(int n) { if(!n) return 1; else return n*factorial(n-1); } Als ich las diese gefunden, dass der obige Code auf „unendlich Compilation“ führen würde , wenn sie nicht richtig vom Compiler behandelt. Wie entscheidet der Compiler, ob eine Funktion inline ist oder nicht?

4
Fehler: Die beschreibbare atomare Eigenschaft kann einen synthetisierten Setter / Getter nicht mit einem benutzerdefinierten Setter / Getter koppeln
Ich habe kürzlich versucht, ein älteres Xcode-Projekt zu kompilieren (das früher einwandfrei kompiliert wurde), und jetzt sehe ich viele Fehler in dieser Form: error: writable atomic property 'someProperty' cannot pair a synthesized setter/getter with a user defined setter/getter Das Codemuster, das diese Fehler verursacht, sieht immer so aus: // Interface: …

22
C-Compiler für Windows? [geschlossen]
Diese Frage passt derzeit nicht zu unserem Q & A-Format. Wir erwarten, dass die Antworten durch Fakten, Referenzen oder Fachwissen gestützt werden, aber diese Frage wird wahrscheinlich zu Debatten, Argumenten, Umfragen oder erweiterten Diskussionen führen. Wenn Sie der Meinung sind, dass diese Frage verbessert und möglicherweise erneut geöffnet werden kann, …

13
Wie kann man einen C # -, C ++ - oder Java-Compiler steuern, um 1 + 2 + 3 +… + 1000 zur Kompilierungszeit zu berechnen?
In einem kürzlich geführten Interview wurde mir eine wirklich seltsame Frage gestellt. Der Interviewer fragte mich, wie ich 1 + 2 + 3 + ... + 1000 nur mit Compiler-Funktionen berechnen kann. Dies bedeutet, dass ich kein Programm schreiben und ausführen darf, sondern nur ein Programm schreiben sollte, das den …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.