Ich lerne C (noch sehr Anfänger) unter Linux mit dem GCC-Compiler. Ich habe festgestellt, dass einige Bibliotheken, wie die mit dem math.h
Header verwendete Bibliothek, manuell verknüpft werden müssen, wenn sie enthalten sind. Ich habe in den Bibliotheken mit verschiedenen Flags des Formulars verlinkt -l[library-name]
, beispielsweise -lm
für die oben erwähnte Mathematikbibliothek.
Nachdem jedoch von der Kommandozeile Schalten und / oder Geany
zu Code::Blocks
, bemerkte ich , dass Code::Blocks
Anwendungen , g++
die Programme statt dem kompilieren , gcc
dass ich gewohnt bin (auch wenn das Projekt auf jeden Fall als C angegeben ist). Außerdem Code::Blocks
müssen die Bibliotheken beim Kompilieren nicht manuell verknüpft werden - Bibliotheken wie die Mathematikbibliothek funktionieren einfach .
Ich habe zwei Fragen:
Ist es "schlecht", C-Programme mit dem g++
Compiler zu kompilieren ? Bisher scheint es zu funktionieren, aber schließlich ist C ++ nicht C und ich bin mir ziemlich sicher, dass der g++
Compiler für C ++ gedacht ist.
Zweitens ist es der g++
Compiler, der die automatische Verknüpfung der Bibliotheken in übernimmt Code::Blocks
?