Als «gcc» getaggte Fragen

GCC ist die GNU Compiler Collection. Es ist der De-facto-Standard-Compiler für C, C ++, Go, Fortran und Ada unter Linux und unterstützt auch viele andere Sprachen und Plattformen. Neben dem Compiler verfügt GCC über eine Toolchain (libc, libstdc ++, objdump, nm usw.), die auf verschiedenen Plattformen und Systemen weit verbreitet ist.

6
Wie installiere ich GCC Stück für Stück mit GMP, MPFR, MPC, ELF ohne gemeinsam genutzte Bibliotheken?
Wie installiere ich GCC (die GNU Compiler Collection) Stück für Stück unter Verwendung der aktuellen Version, unter Verwendung der richtigen Versionen von Abhängigkeiten, ohne Verwendung eines Paketmanagers (wie yum, rpm, apt, dpkg) und ohne Verwendung von gemeinsam genutzten Bibliotheken? Typische Entwickler möchten GCC wahrscheinlich auf die typische Weise installieren, Ihren …
115 gcc  elf  gmp  mpfr  mpc 


17
Kompilierungsprobleme: crt1.o kann nicht gefunden werden
Ich habe ein virtuelles Debian-System, mit dem ich entwickle. Heute wollte ich llvm / clang ausprobieren. Nach der Installation von clang kann ich meine alten c-Projekte (mit gcc) nicht kompilieren. Dies ist der Fehler: ... /usr/bin/ld: cannot find crt1.o: No such file or directory /usr/bin/ld: cannot find crti.o: No such …
114 gcc  clang  ld 

4
Ist cout synchronisiert / threadsicher?
Im Allgemeinen gehe ich davon aus, dass Streams nicht synchronisiert sind. Es ist Sache des Benutzers, eine entsprechende Sperrung vorzunehmen. Erhalten Dinge wie couteine Sonderbehandlung in der Standardbibliothek? Das heißt, wenn mehrere Threads schreiben, coutkönnen sie das coutObjekt beschädigen? Ich verstehe, dass selbst wenn synchronisiert, Sie immer noch zufällig verschachtelte …
112 c++  gcc  c++11 

5
Wo ist PATH_MAX unter Linux definiert?
Mit welcher Header-Datei soll ich aufrufen #include, um PATH_MAX als int für die Größe eines Strings verwenden zu können? Ich möchte erklären können: char *current_path[PATH_MAX]; Wenn ich dies tue, gibt mein Compiler (Clang / LLVM unter Linux) den folgenden Fehler aus: recursive_find6.c:29:20: error: use of undeclared identifier 'PATH_MAX' char *current_path[PATH_MAX]; …
112 c  linux  gcc  include  clang 


3
Warum stimmen zwei Binärdateien von Programmen mit nur geänderten Kommentaren in gcc nicht genau überein?
Ich habe zwei C-Programme erstellt Programm 1 int main() { } Programm 2 int main() { //Some Harmless comments } AFAIK, beim Kompilieren sollte der Compiler (gcc) die Kommentare und redundanten Leerzeichen ignorieren, und daher muss die Ausgabe ähnlich sein. Aber als ich die md5-Summen der Ausgabe-Binärdateien überprüft habe, stimmen …

11
Wie entferne ich nicht verwendete C / C ++ - Symbole mit GCC und ld?
Ich muss die Größe meiner ausführbaren Datei stark optimieren ( ARMEntwicklung) und habe festgestellt, dass in meinem aktuellen Build-Schema ( gcc+ ld) nicht verwendete Symbole nicht entfernt werden. Die Verwendung von arm-strip --strip-unneededfür die resultierenden ausführbaren Dateien / Bibliotheken ändert nichts an der Ausgabegröße der ausführbaren Datei (ich habe keine …
110 c++  c  gcc  ld  strip 

4
Wie kann ich auf eine bestimmte glibc-Version verlinken?
Wenn ich etwas auf meinem Ubuntu Lucid 10.04-PC kompiliere, wird es mit glibc verknüpft. Lucid verwendet 2.11 von glibc. Wenn ich diese Binärdatei auf einem anderen PC mit einem älteren glibc ausführe, schlägt der Befehl fehl und sagt, dass es kein glibc 2.11 gibt ... Soweit ich weiß, verwendet glibc …
110 linux  gcc  linker  glibc  libc 




11
GCC-Kompilierungsfehler mit> 2 GB Code
Ich habe eine große Anzahl von Funktionen mit insgesamt rund 2,8 GB Objektcode (leider führt kein Weg daran vorbei, wissenschaftliches Rechnen ...) Wenn ich versuche, sie zu verknüpfen, erhalte ich (erwartete) relocation truncated to fit: R_X86_64_32SFehler, die ich durch Angabe des Compiler-Flags umgehen wollte -mcmodel=medium. Alle zusätzlich verknüpften Bibliotheken, auf …
108 c++  c  gcc  compiler-errors 

8
statische Verknüpfung nur einiger Bibliotheken
Wie kann ich beim Verknüpfen mit GCC nur einige bestimmte Bibliotheken statisch mit meiner Binärdatei verknüpfen? gcc ... -static ...versucht, alle verknüpften Bibliotheken statisch zu verknüpfen, aber ich habe nicht die statische Version einiger von ihnen (z. B. libX11).

3
Wie kann verhindert werden, dass gcc einige Anweisungen in C optimiert?
Um eine Seite schmutzig zu machen (Einschalten des schmutzigen Bits im Seitentabelleneintrag), berühre ich die ersten Bytes der Seite wie folgt: pageptr[0] = pageptr[0]; In der Praxis ignoriert gcc die Aussage jedoch durch Eliminierung des toten Speichers. Um zu verhindern, dass gcc es optimiert, schreibe ich die Anweisung wie folgt …
107 c  gcc 

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.