Bibliotheken und Konstanten



  • Hallo,

    ich habe eine Vielzahl von Funktionen geschrieben, die von meinem HP verwendet werden. Um diese übersichtlich zu ordnen, wollte ich diese auf mehrere Bibliotheken verteilen.
    Des Weiteren benutze ich einige globale Konstanten, die auch von den Bibliotheken verwendet werden. Wie muss ich diese deklarieren?
    Ich habe im Moment folgende Lsg. - ich finde sie aber nicht gut, da der Block der verwendeten Bibs dadurch auseinander gerissen wird:

    #include <....>
    #include <stdlib.h>
    
    const int max = 500;
    
    #include "abcd.h"
    #include " ....."
    

    Gibt es bessere Varianten? Ich bitte um Vorschläge.

    Danke.



  • Was genau wird denn in "abcd.h" und weiteren mit dieser Konstante gemacht? Eventuell könnte es auch ausreichen, die in deinen Headern zu deklarieren und später zu belegen:

    //abcd.h:
    extern const int max;
    ...
    
    //main.cpp:
    #include <stdlib.h>
    #include "abcd.h"
    
    const int max=500;
    

    (da mußt du aber darauf achten, daß du nur eine Definition von max in deinem Projekt hast, sonst kriegst du Ärger vom Linker)



  • Die Konstante spannt ein Char-Feld auf. Dieses benutze ich zum Parsen von Dateien in den verschiedenen Funktionen.



  • Kannst du da mal etwas Quellcode dazugeben? (da wir hier im C-Forum sind: "const int" ist in ANSI C keine Compilezeit-Konstante, kann also nicht als Größe für ein Array verwendet werden)



  • CStoll schrieb:

    (da wir hier im C-Forum sind: "const int" ist in ANSI C keine Compilezeit-Konstante,

    na und?

    kann also nicht als Größe für ein Array verwendet werden)

    doch normalerweise schon 💡


Log in to reply