IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

implicit declaration of function!


Sujet :

C

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    233
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 233
    Par d�faut implicit declaration of function!
    bonjour, tous le monde,

    j'ai le Warning suivant quand je compile mon programme:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    src/Main.c: In function `Main':
    src/Main.c:13: warning: implicit declaration of function `Hello'
    pourtant que j'ai inclu le header du fichier qui contient la d�finition de la fonction hello!!!!!


    merci pour votre aide

  2. #2
    Expert �minent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retrait�
    Inscrit en
    D�cembre 2003
    Messages
    14 512
    D�tails du profil
    Informations personnelles :
    �ge : 68
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 14 512
    Par d�faut
    Citation Envoy� par moon93
    j'ai le Warning suivant quand je compile mon programme:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    src/Main.c: In function `Main':
    src/Main.c:13: warning: implicit declaration of function `Hello'
    pourtant que j'ai inclu le header du fichier qui contient la d�finition de la fonction hello!!!!!
    Mais en C, 'hello' n'est pas 'Hello'...

  3. #3
    Membre chevronn� Avatar de Jack_serious
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    350
    D�tails du profil
    Informations personnelles :
    �ge : 39
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 350
    Par d�faut
    Fais voir le code.

    Sinon fais attention a la casse, le C est sensible aux majuscules / minuscules. Ca peut venir de la (et c'est souvent le cas).

  4. #4
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    233
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 233
    Par d�faut
    oui, j'ai bien respect� les MAj/Min, j'ai d"fini une simple fonction Hello dans un fcihier Entry.c
    et je l'appel depuis ma fonction Main de mon fichier Main.c, tout en incluant le fichier Entry.h

  5. #5
    Expert �minent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retrait�
    Inscrit en
    D�cembre 2003
    Messages
    14 512
    D�tails du profil
    Informations personnelles :
    �ge : 68
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 14 512
    Par d�faut
    Citation Envoy� par moon93
    oui, j'ai bien respect� les MAj/Min, j'ai d"fini une simple fonction Hello dans un fcihier Entry.c
    et je l'appel depuis ma fonction Main de mon fichier Main.c, tout en incluant le fichier Entry.h
    Mais oui... une fonction Main()...

    On veut voir le code. (Copi�/coll� ou mieux, joint).

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    233
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 233
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    int Main(unsigned int size, StructPt *data)
    {
        bool test;
        test=0;
        OS_ScrInit();
        Hello();
        if(!test) 
        {
        exit (0x2000);
        }
        	return FCT_OK;
    }

  7. #7
    Membre chevronn�
    Avatar de joellel
    Profil pro
    Inscrit en
    F�vrier 2003
    Messages
    234
    D�tails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations forums :
    Inscription : F�vrier 2003
    Messages : 234
    Par d�faut
    Citation Envoy� par moon93
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    int Main(unsigned int size, StructPt *data)
    {
        bool test;
        test=0;
        OS_ScrInit();
        Hello();
        if(!test) 
        {
        exit (0x2000);
        }
        	return FCT_OK;
    }
    Rassure moi, ce n'est pas ton programme principal???
    Ca voudrait dire que tu as une fonction main() et une fonction Main()...
    Attention, car ce n'est pas tr�s lisible!

  8. #8
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    233
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 233
    Par d�faut
    si, c'est mon pgm principale .Mais je travail sur un kit ou j'ai deux Entry point (Main et Entry)

  9. #9
    Membre chevronn�
    Avatar de joellel
    Profil pro
    Inscrit en
    F�vrier 2003
    Messages
    234
    D�tails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations forums :
    Inscription : F�vrier 2003
    Messages : 234
    Par d�faut
    Quel est ton environnement de d�veloppement?

  10. #10
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    233
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 233
    Par d�faut
    j'utilise GCC3.4.3 sous windows, je compiler pour une cible ARM

  11. #11
    Expert �minent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retrait�
    Inscrit en
    D�cembre 2003
    Messages
    14 512
    D�tails du profil
    Informations personnelles :
    �ge : 68
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 14 512
    Par d�faut
    Citation Envoy� par moon93
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    int Main(unsigned int size, StructPt *data)
    {
        bool test;
        test=0;
        OS_ScrInit();
        Hello();
        if(!test) 
        {
        exit (0x2000);
        }
        	return FCT_OK;
    }
    Code incomplet. Ne compile pas.

  12. #12
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    233
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 233
    Par d�faut
    tu parle des includes?????

  13. #13
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    et de l'absence de main() standard, sans doute.
    OS_ScrInit() doit �galement �tre disponible sur un compilo commun, ou retir� de ton code.
    Hello(), idem.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  14. #14
    Expert �minent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retrait�
    Inscrit en
    D�cembre 2003
    Messages
    14 512
    D�tails du profil
    Informations personnelles :
    �ge : 68
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 14 512
    Par d�faut
    Citation Envoy� par moon93
    tu parle des includes?????
    Par exemple !

    C'est ton code. C'est toi qui sait ce qu'il faut pour qu'il compile...

  15. #15
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    233
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 233
    Par d�faut
    le fichier Main.c:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    #include "SDK30.H"
    #include "os.h"
    #include "Entry.h"
     
     
    int Main(unsigned int size, StructPt *data)
    {
        bool test;
        test=0;
        OS_ScrInit();
        Hello();
        if(!test) 
        {
        exit (0x2000);
        }
        	return FCT_OK;
    }
    le fichier Entry.c:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
     
    #include "SDK30.H"
    #include "OEM.H"
     
     
    void entry(void)
    {
     
     
    	/*............*/
    };
     
    void Hello()
    {
     
    	FILE *visu; 
     
     
    	visu=fopen("DISPLAY","w");
     
                fprintf("Hello world\n");
     
    	fclose(visu) ;
    	};

  16. #16
    Membre Expert Avatar de gnto
    Homme Profil pro
    Ing�nieur syst�me logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : Ing�nieur syst�me logiciel
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Par d�faut
    editeur de liens ca te dit quelque chose ?
    tu compiles tes sources et tu link Hello.o avec Main.o

    compilation
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    gcc -c -Wall Hello.c -o Hello.o
    gcc -c -Wall Main.c -o Main.o
    linkage
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    gcc Main.o Hello.o -o Main
    et tu ajoutes un prototype de la fonction Hello() dans ton Main.c ou mieux dans un Main.h ou encore mieux tu includes le Entry.h qui a le prototype de la fonction Hello()

  17. #17
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    233
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 233
    Par d�faut
    toi ta pas lu le dernier message que j'ai poster, j bien inclu le fichier entry.h, ki contien le prototype de la fonction Hello,
    et pour la compilation et l'edition des lines, c evident

  18. #18
    Membre Expert Avatar de gnto
    Homme Profil pro
    Ing�nieur syst�me logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : Ing�nieur syst�me logiciel
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Par d�faut
    Citation Envoy� par moon93
    toi ta pas lu le dernier message que j'ai poster, j bien inclu le fichier entry.h, ki contien le prototype de la fonction Hello,
    et pour la compilation et l'edition des lines, c evident
    Je viens de relire, je ne pouvais pas deviner que tu avais mis le prototype dans Entry.h. L'inclusion d'un .h n'assure pas que tu ais mis le prototype.

    D�sol�.

  19. #19
    Membre Expert Avatar de gnto
    Homme Profil pro
    Ing�nieur syst�me logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : Ing�nieur syst�me logiciel
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Par d�faut
    Puisque l'on a pas le Entry.h, Tu n'as pas mis des mots clefs pr�processeur qui ne d�clarerai pas le prototype

    par exemple
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    #ifndef __ENTRY__
    #define __ENTRY__
    ...
    #endif
    ou il te manquerai le 'n' qui fait la diff�rence

  20. #20
    Expert �minent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retrait�
    Inscrit en
    D�cembre 2003
    Messages
    14 512
    D�tails du profil
    Informations personnelles :
    �ge : 68
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 14 512
    Par d�faut
    Citation Envoy� par gnto
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    #ifndef __ENTRY__
    #define __ENTRY__
    ...
    #endif
    Attention identificateur r�serv�.

    http://emmanuel-delahaye.developpez....htm#id_reserve

Discussions similaires

  1. R�ponses: 15
    Dernier message: 16/01/2007, 17h47
  2. [gcc/warning] implicit declaration of function �close�
    Par TabrisLeFol dans le forum R�seau
    R�ponses: 4
    Dernier message: 09/01/2007, 20h48
  3. R�ponses: 3
    Dernier message: 18/10/2006, 20h42
  4. implicit declaration of function
    Par guillaume_pfr dans le forum C
    R�ponses: 7
    Dernier message: 12/06/2003, 10h59
  5. [Dev c++ 4] implicite declaration of function "int kbhi
    Par Torpedox dans le forum Dev-C++
    R�ponses: 5
    Dernier message: 01/01/2003, 13h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo