2 Module 1 Header kein Programm

Dieses Thema im Forum "C/C++" wurde erstellt von aragon19, 26.01.2010.

  1. #1 aragon19, 26.01.2010
    aragon19

    aragon19 Grünschnabel

    Dabei seit:
    21.01.2010
    Beiträge:
    9
    Zustimmungen:
    0
    Da bin ich wieder, nur in einem anderem Teil des Forums. Hoffe es kann mir schnell jemand helfen.

    Habe aus dem Internet schnell mal ein Tutorial gestartet um das Modulweise Programmieren mit C zu üben. Dazu habe ich drei Edit-Dateien geschrieben.
    Eine test.c
    Dann eine kleine modul.c
    und zuguter Letzt die headerdat incl.h:
    Dann alles kompiliert mit gcc -o test test.c Keine Fehlermeldung (außer das meine Main keinen integer zurück gibt, aber das ist nicht so schlimm)

    Dann führe ich das Programm aus und ...
    NICHTS passiert.
    Er gibt nichts aus.
    Ich verzweifele, weil ich einfach nicht weiß, wo der Fehler steckt.

    Kann mir da einer helfen?

    MfG Aragon19
     
  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 bytepool, 26.01.2010
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    es wundert mich ein wenig dass du keine Fehlermeldungen bekommst, aber eventuell liegt es daran dass du modul.c in der header Datei einbindest. Das ist schonmal ein ordentlicher faux-pas, das sollte man niemals tun.

    Als naechstes wuerde ich mir an deiner Stelle angewoehnen immer erstmal nur die einfachste aller moeglichen Versionen zu testen wenn etwas schief laeuft. In diesem Fall heisst es, diese verrueckten Makros rauszunehmen.

    Ich wuerde ausserdem immer versuchen die header Datei wie die dazugehoerige c Datei zu nennen, also in deinem Fall module.h und module.c.

    Wenn du anfaengst mit mehreren Modulen zu arbeiten, wuerde ich mir direkt angewoehnen mit make zu arbeiten, das vereinfacht viele Dinge enorm, und hilft haeufig auch beim Verstaendnis der notwendigen linking Schritte.

    Hier z.B. ein kurzes, nettes Tutorial:
    http://www.c-howto.de/tutorial-makefiles.html

    Das Problem in deinem Fall ist wahrscheinlich, dass du module.c vorher nicht kompiliert hast, und fuer test.c nicht mit einbezogen hast.
    Code:
    gcc -c module.c
    gcc -c test.c
    gcc -o test module.o test.o
    

    Nebenbei kennt das Board Code Bloecke. Wenn du die statt Zitat Bloecken verwendest, bleiben auch die Einrueckungen vernuenftig erhalten.

    mfg,
    bytepool
     
  4. #3 aragon19, 26.01.2010
    aragon19

    aragon19 Grünschnabel

    Dabei seit:
    21.01.2010
    Beiträge:
    9
    Zustimmungen:
    0
    Ich danke vielmals für die Hilfe.
    Als ich modul.c kompilieren wollte, hat er verstädnlicherweise, einen fehler geworfen, weil im modul.c nichts implementiert ist und er die ganzen Ausdrücke nicht kennt.
    Ich denke einfachmal, dass das Beispiel zu schlecht ist.
    Werde jetzt was eigenes schreiben. Nen kleinen Taschenrechner bestehend aus mehreren Modulen und dazu auch ne make.
    Denke mal, dass das besser läuft.
    Gruß Aragon19
     
  5. #4 bytepool, 26.01.2010
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Gern geschehen.

    Also wenn das tatsaechlich Beispiel Code aus einem Tutorial ist, wuerde ich definitiv sagen, Finger weg von dem Tutorial! Das hat eindeutig jemand geschrieben der von Tuten und Blasen keine Ahnung hat.

    Prinzipiell ist es aber sicher nicht falsch erstmal mit einem sauberen minimal Beispiel anzufangen. Z.B. was in diese Richtung:
    Code:
    $ cat function.h
    void function(void);
    
    $ cat function.c
    #include <stdio.h>
    #include "function.h"
    
    void function(void)
    {
      printf("function called!\n");
    }
    
    $ cat testf.c
    #include "function.h"
    
    int main(void)
    {
      function();
      return 0;
    }
    
    $ gcc -c function.c
    $ gcc -c testf.c
    $ gcc -o testf function.o testf.o
    $ ./testf
    function called!
    
    mfg,
    bytepool
     
  6. #5 SkydiverBS, 26.01.2010
    SkydiverBS

    SkydiverBS Tripel-As

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

    Mal davon abgesehen, dass das Beispiel-Programm einen miserablen Code-Stil hat, sollte es trotzdem laufen. Bei mir hat es zumindest funktioniert. Ausgabe des Programms:
    Gruß,
    Philip
     
Thema:

2 Module 1 Header kein Programm

Die Seite wird geladen...

2 Module 1 Header kein Programm - Ähnliche Themen

  1. Git 2.8 unterstützt paralleles Laden von Submodulen

    Git 2.8 unterstützt paralleles Laden von Submodulen: Mit der Freigabe von Git 2.8.0 haben die Entwickler das Quellcode-Verwaltungssystem um diverse neue Funktionen ergänzt. Die wohl prominenteste...
  2. SFC hält Auslieferung von binären ZFS-Modulen für GPL-Verletzung

    SFC hält Auslieferung von binären ZFS-Modulen für GPL-Verletzung: Die Software Freedom Conservancy hält Canonicals Plan, das Dateisystem ZFS als binäres Modul ab Ubuntu 16.04 mitzuliefern, für eine...
  3. Raspberry Pi und Linux für Solarmodule

    Raspberry Pi und Linux für Solarmodule: Die auf den Bau und Betrieb von Solarkraftwerken spezialisierte Storm Energy GmbH aus Nürnberg verbaut in ihrem neuen SunSniffer ein Raspberry Pi...
  4. CoMo-Booster für RPi Compute Module

    CoMo-Booster für RPi Compute Module: Vor wenigen Wochen hat die Raspberry Pi Foundation ihren Platinenrechner als Compute Module in den Handel gebracht, eine Platine aud RPi-Basis,...
  5. RPi Compute Module für industrielle Nutzer

    RPi Compute Module für industrielle Nutzer: Die Raspberry Pi Foundation hat im letzten Jahr am Design ihres Einplatinenrechners Raspberry Pi (RPi) gefeilt und den BCM2835-Prozessor, den 512...