eigene Header

Dieses Thema im Forum "C/C++" wurde erstellt von brand, 18.05.2005.

  1. brand

    brand Mitglied

    Dabei seit:
    07.11.2004
    Beiträge:
    48
    Zustimmungen:
    0
    Hallo allezusammen,

    is wahrscheinlich ne blöde Frage:

    Ich hab in einem Verzeichnis drei Dateien:
    haupt.cpp, funk.cpp und funk.h

    in der haupt.cpp steht
    #include"funk.h"
    in der funk.h die Funktionendefs
    und in der funk.cpp die Funktion selber.

    Ich will haupt.cpp mit "g++ haupt.cpp" übersetzen.
    Also ohne das ich noch die funk im Befehlsaufruf angebe.
    Wie mach ich das?
    Bei der iostream gehts ja auch.

    Gruß Michael
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 skynnyr, 18.05.2005
    skynnyr

    skynnyr Mitglied

    Dabei seit:
    03.06.2004
    Beiträge:
    37
    Zustimmungen:
    0
    Entweder du rufst g++ so auf:
    Code:
    g++ haupt.cpp funk.cpp
    oder du tust dir das hier an:
    Code:
    man make
    info make
    oder gleich richtig (aber nicht ganz ernst gemeint ;)): autoconf.
     
  4. brand

    brand Mitglied

    Dabei seit:
    07.11.2004
    Beiträge:
    48
    Zustimmungen:
    0
    Aber wie funxt des dann bei der iostream z.B? Da geb ich ja nicht g++ haupt.cpp iostream.h oder so ählich an.
     
  5. pinky

    pinky König

    Dabei seit:
    11.08.2004
    Beiträge:
    795
    Zustimmungen:
    0
    iostream ist eine lib.
    Wenn du aus funk auch eine lib machst und es vorher als solche kompilierst, dann kannst du später dein Programm dagegen linken ohne die lib selber zu kompilieren.
     
  6. brand

    brand Mitglied

    Dabei seit:
    07.11.2004
    Beiträge:
    48
    Zustimmungen:
    0
    aaaah, cool. Und wie mach ich ne lib draus?
     
  7. #6 skynnyr, 18.05.2005
    skynnyr

    skynnyr Mitglied

    Dabei seit:
    03.06.2004
    Beiträge:
    37
    Zustimmungen:
    0
    Ich bin nicht ganz sicher, ob ich deine Frage richtig verstehe. Du willst also wissen, woher g++ die Funktionsrümpfe hernimmt, die in <iostream> deklariert wurden? Die holt sich der Linker aus libstdc++.so. In dieser Datei befindet sich der <iostream>-Objektcode. Die Quelltexte von <iostream> werden nicht jedesmal wieder neu übersetzt. Lediglich die Existenz der Klasse wird dem Compiler durch die Headerdatei bekanntgemacht. Der Linker löst dann die externen Referenzen erst auf. Eben aus libstdc++.so.

    PS.: Oops, zu spät!
     
  8. #7 skynnyr, 18.05.2005
    Zuletzt bearbeitet: 18.05.2005
    skynnyr

    skynnyr Mitglied

    Dabei seit:
    03.06.2004
    Beiträge:
    37
    Zustimmungen:
    0
    Für statische Libraries:
    Code:
    man ar
    Für dynamische Libraries:
    Code:
    man ld
    Beide Kommandos arbeiten mit den .o Dateien, die der Compiler erzeugt hat.
     
  9. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  10. #8 SkydiverBS, 19.05.2005
    SkydiverBS

    SkydiverBS Tripel-As

    Dabei seit:
    15.01.2005
    Beiträge:
    207
    Zustimmungen:
    0
    Ort:
    Freising
    Hi brand!

    Falls du mit englisch keine Probleme hast hilft dir vielleicht das HOWTO des TLDP zu dem Thema Program Library weiter.

    Gruss,
    Philip
     
  11. hehejo

    hehejo blöder Purist

    Dabei seit:
    12.10.2003
    Beiträge:
    1.280
    Zustimmungen:
    0
    Ort:
    Stein (Mittelfranken)
    Also eigentlich müsste der g++ das können.

    g++ -o programm haupt.cpp
     
Thema:

eigene Header

Die Seite wird geladen...

eigene Header - Ähnliche Themen

  1. In eigener Sache: Neue, stark verbesserte Suchfunktion

    In eigener Sache: Neue, stark verbesserte Suchfunktion: Pro-Linux läuft nun mit der erneuerten Version 1.5 des Content Management Systems NB3. Die wichtigste sichtbare Änderung ist die neue, auf der...
  2. Western Digital widmet dem Raspberry Pi eine eigene Festplatte

    Western Digital widmet dem Raspberry Pi eine eigene Festplatte: Der Festplattenhersteller Western Digital (WD) gibt die Verfügbarkeit einer 314 GByte großen Festplatte für den Raspberry Pi bekannt. Weiterlesen...
  3. Pale Moon 26 mit eigener Browser-Engine fertiggestellt

    Pale Moon 26 mit eigener Browser-Engine fertiggestellt: Die Entwickler von Pale Moon haben eine überarbeitete Version des Browsers, der von Firefox abgeleitet ist, freigegeben. Das Pale Moon-Projekt...
  4. Intel veröffentlicht eigene Linux-Distribution für die Cloud

    Intel veröffentlicht eigene Linux-Distribution für die Cloud: Intel hat kürzlich mit »Clear Linux Project for Intel Architecture« eine eigene Linux-Distribution veröffentlicht, die für die eigene...
  5. LLVM entwickelt eigenen ELF-Linker

    LLVM entwickelt eigenen ELF-Linker: Wie das LLVM-Projekt bekannt gab, steht mit »lld« ein alternativer Linker bereit, der sich vor allem durch seine gesteigerte Geschwindigkeit...