[Solved] Linkerfehler (ehem. Typkonvertierung?)



  • pumuckl schrieb:

    Wenn ichs richtig mitbekommen hab, ist g++ auch nur gcc mit ein paar zusätzlichen Linker optionen?

    Nein. C und C++ sind zwei Unterschiedliche Sprachen.

    Genauso ist der gcj kein gcc "mit ein paar zusätzlichen Linkeroptionen" 😉



  • pumuckl schrieb:

    ...Wenn ichs richtig mitbekommen hab, ist g++ auch nur gcc mit ein paar zusätzlichen Linker optionen?

    Früher (vor der Standardisierung) gab's mal "C++2C-Präprozessoren", die C++-Code in C-Code wandelten und den dann durch einen C-Compiler jagten ... aber die Zeiten sind schon länger vorbei.

    Aber gräme Dich nicht: Der Irrglaube C++ sei "eigentlich C" ist leider recht weit verbreitet. 😃

    Gruß,

    Simon2.



  • mir ist durchaus bekannt, dass C und C++ zwei verschiedene Sprachen sind. Ich habe grade mal auf http://gcc.gnu.org nachgestöbert und meien vage Erinnerung halbwegs bestätigt gefunden, dass mit "gcc"-Aufruf keineswegs nur der C-Compiler aufgerufen wird. gcc steht für Gnu Compiler Collection und der Guteste ist so nett, anhand der Dateiendungen zu unterscheiden, welchen seiner eingebauten Compiler er bemüht, z.B. den Fortran Compiler für Source mit Dateiendung .f, C-Compiler für .c, C++-Compiler für .C, .cpp, .cxx .c++ usw.

    However, the use of gcc does not add the C++ library. g++ is a program that calls GCC and treats .c',.h' and .i' files as C++ source files instead of C source files unless -x is used, **and automatically specifies linking against the C++ library.** This program is also useful when precompiling a C header file with a.h' extension for use in C++ compilations. On many systems, g++ is also installed with the name c++.

    Im gewissen Sinne also doch gcc plus Linkeroptionen und ein paar Kleinigkeiten, da gcc eben NICHT nur ein C-Compiler ist...



  • pumuckl schrieb:

    mir ist durchaus bekannt, dass C und C++ zwei verschiedene Sprachen sind....

    Sorry, da habe ich mich unklar ausgedrückt. Ich meinte nicht Dich, sondern Deine Quellen, die evtl. diesen Fehler gemacht haben. Ich habe das einfach schon so oft in Internet gelesen, dass ich mich wundere, dass überhaupt noch jemand die Wahrheit kennt 😉

    Die Erfahrung mit den "Dateienden" beim gcc habe ich auch schon bitter gemacht ... mag für einige praktisch sein, aber ich finde es eher fehlerträchtig.

    Gruß,

    Simon2.


Anmelden zum Antworten