C-File in 2 Teilstücke aufsplitten



  • hab folgendes problem:

    ich muss ein c-programm in zwei einzelne programme aufsplitten weil der compiler( die vollversion kostet nen haufen geld) nur maximal 2kb großen code compilieren kann(kann keinen anderen verwenden weil das ein spezieller zur ansteuerung eines chip´s ist).deshlab will ich die beiden programmteile einzeln compilieren um so die beschränkung zu umgehen...

    das problem liegt für mich darin, dass ich eine funktion aus dem zweiten programmteil im ersten wieder nutzen muss(übergabe von 2 Parametern und rückgabe des ergebnisses).

    leider kann ich die funktion nicht in eine header datei schreiben, weil diese ja mit compiliert wird und damit die 2kb beschränkung wieder zutrifft...

    vielleicht kann mir ja einer von euch erklären ob es möglich ist auf die funktion im zweiten c-file vom ersten(hauptprogramm) aus zuzugreifen!

    mfg robby



  • ich weiss zwar auch nicht wie das geht aber du kannst ja mal den code posten...
    vielleicht bekomm ich den zusammen mit interpreter entsprechend gekürzt... 😉



  • //A.c
    #include "A.h"
    
    int foo(char* s)
    {
      //...
    }
    
    //A.h
    int foo(char*);
    
    //B.c
    #include "A.h"
    
    void bar(void)
    {
      foo("hallo");
    }
    

    Die beiden .c Dateien werden jeweils einzeln kompiliert und dann gemeinsam gelinkt. Die Frage ist nur, ob der Linker nicht ähnlichen Restriktionen unterliegt...



  • burninglode schrieb:

    hab folgendes problem:

    ich muss ein c-programm in zwei einzelne programme aufsplitten weil der compiler( die vollversion kostet nen haufen geld) nur maximal 2kb großen code compilieren kann(kann keinen anderen verwenden weil das ein spezieller zur ansteuerung eines chip´s ist).deshlab will ich die beiden programmteile einzeln compilieren um so die beschränkung zu umgehen...

    das problem liegt für mich darin, dass ich eine funktion aus dem zweiten programmteil im ersten wieder nutzen muss(übergabe von 2 Parametern und rückgabe des ergebnisses).

    leider kann ich die funktion nicht in eine header datei schreiben, weil diese ja mit compiliert wird und damit die 2kb beschränkung wieder zutrifft...

    vielleicht kann mir ja einer von euch erklären ob es möglich ist auf die funktion im zweiten c-file vom ersten(hauptprogramm) aus zuzugreifen!

    mfg robby

    am compiler sollte ees nicht liegen, sondern an der Bibliotheken. Installiere dir einen anderen Compiler und benutze die Bibliotheken des anderen teuren Comnpilers. Naja, du kannst pro .c Datei eine einzige Funktion schreiben. Eigentlich, wie man es immer macht? Wie teilt man den Code in mehrern Source-Dateien? Eine header Datei für alle anlegen und den Code entsprechen teilen und alle Dateien an Linke übergeben, wenn man alles fertig haben will.



  • Guten Tag,

    burninglode hat doch gepostet:

    kann keinen anderen verwenden weil das ein spezieller zur ansteuerung eines chip´s ist

    @burninglode: Ich halte nichts von Chips, für die es nur teuren Compiler gibt! 😮

    Mit freundlichen Grüßen

    Linuxfreak


Anmelden zum Antworten