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.

6
Warum ist das .bss-Segment erforderlich?
Was ich weiß ist, dass globale und statische Variablen im .dataSegment gespeichert sind und nicht initialisierte Daten im .bssSegment sind. Was ich nicht verstehe ist, warum wir ein dediziertes Segment für nicht initialisierte Variablen haben? Wenn einer nicht initialisierten Variablen zur Laufzeit ein Wert zugewiesen wurde, ist die Variable dann …

1
Wo Sie mehr über die magischen Namen des VS-Debuggers erfahren können
Wenn Sie jemals Reflector verwendet haben, haben Sie wahrscheinlich bemerkt, dass der C # -Compiler Typen, Methoden, Felder und lokale Variablen generiert, die vom Debugger eine spezielle Anzeige verdienen. Beispielsweise werden lokale Variablen, die mit 'CS $' beginnen, dem Benutzer nicht angezeigt. Es gibt andere spezielle Namenskonventionen für Schließungstypen anonymer …

8
Qt: -lGL-Fehler kann nicht gefunden werden
Ich habe gerade QtCreator neu installiert, ein neues Projekt ( Qt Application ) erstellt und dieses nach der Kompilierung erhalten: /usr/bin/ld: **cannot find -lGL** collect2: error: ld returned 1 exit status make: *** [untitled1] Error 1 18:07:41: The process "/usr/bin/make" exited with code 2. Error while building/deploying project untitled1 (kit: …

6
(A + B + C) ≠ (A + C + B) und Compiler-Neuordnung
Das Hinzufügen von zwei 32-Bit-Ganzzahlen kann zu einem Ganzzahlüberlauf führen: uint64_t u64_z = u32_x + u32_y; Dieser Überlauf kann vermieden werden, wenn eine der 32-Bit-Ganzzahlen zuerst umgewandelt oder zu einer 64-Bit-Ganzzahl hinzugefügt wird. uint64_t u64_z = u32_x + u64_a + u32_y; Wenn der Compiler jedoch beschließt, den Zusatz neu zu …


13
Warum ist es unmöglich, einen Compiler zu erstellen, der bestimmen kann, ob eine C ++ - Funktion den Wert einer bestimmten Variablen ändert?
Ich habe diese Zeile in einem Buch gelesen: Es ist nachweislich unmöglich, einen Compiler zu erstellen, der tatsächlich bestimmen kann, ob eine C ++ - Funktion den Wert einer bestimmten Variablen ändert oder nicht. In dem Absatz wurde darüber gesprochen, warum der Compiler bei der Überprüfung der Konstanz konservativ ist. …

3
Bedeutung des Android Studio-Fehlers: Nicht kommentierter Parameter überschreibt den @ NonNull-Parameter
Ich probiere Android Studio aus. Wenn onSaveInstanceStateich beim Erstellen eines neuen Projekts und Hinzufügen einer Standardmethode zur Klasse "Create MyActivity" versuche, den Code an Git zu übergeben, wird ein seltsamer Fehler angezeigt , den ich nicht verstehe. Der Code lautet: Der Fehler, den ich bekomme, ist folgender: Wenn ich versuche, …



3
Wie erstelle ich eine statische Bibliothek mit g ++?
Kann mir bitte jemand sagen, wie man eine statische Bibliothek aus einer CPP- und einer HPP-Datei erstellt? Muss ich die .o und die .a erstellen? Ich möchte auch wissen, wie ich eine statische Bibliothek kompilieren und in anderem CPP-Code verwenden kann. Ich habe header.cpp, header.hpp .ich möchte erstellen header.a. Testen …

3
Warum führt diese (null ||! TryParse) Bedingung zur Verwendung einer nicht zugewiesenen lokalen Variablen?
Der folgende Code führt zur Verwendung der nicht zugewiesenen lokalen Variablen "numberOfGroups" : int numberOfGroups; if(options.NumberOfGroups == null || !int.TryParse(options.NumberOfGroups, out numberOfGroups)) { numberOfGroups = 10; } Allerdings funktioniert dieser Code in Ordnung (obwohl, ReSharper , sagt der = 10überflüssig ist): int numberOfGroups = 10; if(options.NumberOfGroups == null || !int.TryParse(options.NumberOfGroups, …

14
Warum wird dieser Java-Code kompiliert?
Im Methoden- oder Klassenbereich wird die folgende Zeile kompiliert (mit Warnung): int x = x = 1; Im Klassenbereich, in dem Variablen ihre Standardwerte erhalten , gibt der folgende Fehler "undefinierte Referenz" aus: int x = x + 1; Ist es nicht das erste Mal x = x = 1, …

5
Eclipse: Aktivieren Sie Assertions
Ich verwende Eclipse Galileo. Wie aktiviere ich Zusicherungen in Eclipse? Wie von anderen Websites vorgeschlagen, habe ich versucht, die folgenden Argumente hinzuzufügen : -ea. Ich habe auch versucht, die Compiler-Konformitätsstufe auf zu ändern 1.4. Keiner dieser Vorschläge hat funktioniert.

14
Kompilieren, Erstellen oder Archivieren von Problemen mit Xcode 4 (und Abhängigkeiten)
Diese Frage hat sich in den letzten Wochen weiterentwickelt, um allgemeinere Fragen zu behandeln xcode4 (und Upgrades von älteren Projekten xcodes). Viele der Probleme können jedoch durch Befolgen derselben Anweisungen gelöst werden. Wenn Sie eines der folgenden Probleme haben, probieren Sie die Methoden in der akzeptierten Antwort aus: Xcode 4 …


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.