#ifndef in headerfiles



  • so hab ich es gemacht, hab die deklerationen (den code von oben) in die datei umwandeln.h gespeichert und die ganze funktion dann in umwandeln.c und da hab ich umwandeln.h includet.
    wie kann ich denn die .obj datei löschen ich seh die bei meine projekt ordner nicht?



  • sascha191088 schrieb:

    so hab ich es gemacht, hab die deklerationen (den code von oben) in die datei umwandeln.h gespeichert und die ganze funktion dann in umwandeln.c und da hab ich umwandeln.h includet.
    wie kann ich denn die .obj datei löschen ich seh die bei meine projekt ordner nicht?

    Windows-Dateisuche?



  • hab ich auch schon gemacht, aber die suche findet auch nichts



  • sascha191088 schrieb:

    ... und da hab ich umwandeln.h includet...

    Da brauchst du nicht includen, wenn da nur die Funktionsprototypen drin stehen, sondern da wo du die Funktionen aufrufst.

    sascha191088 schrieb:

    wie kann ich denn die .obj datei löschen ich seh die bei meine projekt ordner nicht?

    VS bietet die Option bereinigen. Ich kenne deinen Compiler nicht. Ansosten sind die irgendwo auf deiner Festplatte, muttu suchen.



  • jetzt geht es 🙂 , hab in umwandeln.c nicht mehr umwandeln.h includet und dann ging es. normal muss man doch das machen wenn in der der header datei die dekleration der funktioen von der .c datei steht. muss man das wegen dem ifndef nicht machen oder warum?



  • sascha191088 schrieb:

    normal muss man doch das machen wenn in der der header datei die dekleration der funktioen von der .c datei steht.

    Nein. Man bindet keine .c/.cpp-Dateien mit Includedirektiven ein.



  • so wird das doch gemacht, oder?
    http://www2.hs-esslingen.de/~sarait00/modul.JPG



  • Kommt drauf an, was die Pfeile darstellen sollen. Wenn das Includedirektiven sein sollen, ist das falsch.



  • der pfeil von der c datei zur header ist die exportschnittstelle und von header zur main ist die importschnittstelle.
    wenn ich es ohne #ifndef mach oderso was in der art muss ich in die c datei die header datei includen. und natürlich auch in der main.c oder sowas.



  • sascha191088 schrieb:

    der pfeil von der c datei zur header ist die exportschnittstelle und von header zur main ist die importschnittstelle.

    Bahnhof?

    sascha191088 schrieb:

    wenn ich es ohne #ifndef mach oderso was in der art muss ich in die c datei die header datei includen. und natürlich auch in der main.c oder sowas.

    Nein, das musst du nie. Das ist - wie gesagt - falsch. Du musst allerdings jede .c-Datei kompilieren.



  • sascha191088 schrieb:

    der pfeil von der c datei zur header ist die exportschnittstelle und von header zur main ist die importschnittstelle.
    wenn ich es ohne #ifndef mach oderso was in der art muss ich in die c datei die header datei includen. und natürlich auch in der main.c oder sowas.

    die sogenannten include-guard ( #ifndef, .. ) sollte/muss man immer machen, um mehrfaches einbinden zu verhindern.
    wenn du in der headerdatei nicht nur die funktionen sondern z.b. ne struktur deklarierst, die du in deiner c-datei brauchst, dann musst du auch in der c-datei inkludieren.


Anmelden zum Antworten