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
Vorkompilierte Header mit GCC
Hat jemand Erfolg damit gehabt, vorkompilierte Header mit GCC zu arbeiten? Ich hatte kein Glück bei meinen Versuchen und ich habe nicht viele gute Beispiele für die Einrichtung gesehen. Ich habe Cygwin GCC 3.4.4 und 4.0 unter Ubuntu ausprobiert.



5
Statische Verknüpfung von libstdc ++: Fallstricke?
Ich muss eine C ++ - Anwendung, die auf Ubuntu 12.10 mit libstdc ++ von GCC 4.7 basiert, auf Systemen bereitstellen, auf denen Ubuntu 10.04 ausgeführt wird, das mit einer erheblich älteren Version von libstdc ++ geliefert wird. Derzeit kompiliere ich mit -static-libstdc++ -static-libgcc, wie in diesem Blog-Beitrag vorgeschlagen: libstdc …


6
OSX App Bundle erstellen
Angenommen, ich habe eine osX-App ohne Verwendung von Xcode erstellt. Nach dem Kompilieren mit GCC erhalte ich eine ausführbare Datei, die mit mehreren anderen Bibliotheken verknüpft ist. Einige dieser Bibliotheken sind möglicherweise wieder dynamisch mit anderen nicht standardmäßigen Systembibliotheken verknüpft Gibt es ein Tool, das ein OSX-App-Bundle erstellt, indem zuerst …
89 macos  gcc  otool 

5
Was ist der Unterschied zwischen gcc -ggdb und gcc -g
Wenn ich gcc zum Kompilieren von C-Programmen verwende, verwende ich normalerweise -geinige Debug-Informationen in die elf-Datei, damit gdb mir bei Bedarf helfen kann. Ich bemerkte jedoch, dass einige Programme verwenden -ggdb, da dies die Debug-Informationen gdb-freundlicher machen soll. Wie unterscheiden sie sich und welche wird empfohlen? Hinweis: Ein Link zu …
89 gcc  gdb 


4
Kompilieren von Multithread-Code mit g ++
Ich habe den einfachsten Code aller Zeiten: #include <iostream> #include <thread> void worker() { std::cout << "another thread"; } int main() { std::thread t(worker); std::cout << "main thread" << std::endl; t.join(); return 0; } obwohl ich es immer noch nicht kompilieren kann, um es g++auszuführen. Mehr Details: $ g++ --version …
88 c++  linux  ubuntu  gcc  g++ 


4
Werden Stapelvariablen durch das GCC __attribute __ ((ausgerichtet (x))) ausgerichtet?
Ich habe den folgenden Code: #include <stdio.h> int main(void) { float a[4] __attribute__((aligned(0x1000))) = {1.0, 2.0, 3.0, 4.0}; printf("%p %p %p %p\n", &a[0], &a[1], &a[2], &a[3]); } Und ich habe folgende Ausgabe: 0x7fffbfcd2da0 0x7fffbfcd2da4 0x7fffbfcd2da8 0x7fffbfcd2dac Warum ist die Adresse von a[0]kein Vielfaches von 0x1000? Was genau __attribute__((aligned(x)))macht das? Ich …

1
Was ist der Unterschied zwischen -rpath und -L?
gccund ldbieten viele Möglichkeiten, einen Suchpfad für Bibliotheken anzugeben, darunter die Flags -rpathund -L. Die Manpages zeigen keine Unterschiede zwischen diesen beiden Flags, was effektiv bedeutet, dass jedes Flag dem Bibliothekssuchpfad eine Bibliothek hinzufügt. Es scheint jedoch seltsam, dass beide Flaggen genau dasselbe tun. Was sind die Unterschiede zwischen diesen …


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.