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

Dev-C++ Discussion :

devcpp et C99


Sujet :

Dev-C++

  1. #1
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut devcpp et C99
    Salut à tous,

    J'utilise devcpp et j'ai une erreur sur le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for(int i = 0; i < 5; i ++)
    {
         ...
    }
    Voici l'erreur :
    'for' loop initial declaration used outside C99 mode
    Pour ne plus avoir cette erreur il faut que je declare i avant la boucle for. Il me semble bien que ma syntaxe est correct (standard C99), d'où vient le probleme ?
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  2. #2
    HRS
    HRS est déconnecté
    Membre confirmé
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    677
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 677
    Points : 638
    Points
    638
    Par défaut
    Devc++ 4992 (port gcc 3.4.2) n'inclut que quelques unes des fonctionna
    lités du C99 (ex : non obligation de déclarer les variables en début de
    bloc)

    visiblement pas "for (int i=0;...;...)", d'où votre rejet

  3. #3
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Citation Envoyé par HRS
    Devc++ 4992 (port gcc 3.4.2) n'inclut que quelques unes des fonctionnalités du C99


    N'y aurais t-il pas un moyen pour pallier à ce probleme (plugin ou autre) ?
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  4. #4
    Membre éclairé Avatar de hansaplast
    Homme Profil pro
    Artisant logiciel
    Inscrit en
    Septembre 2005
    Messages
    948
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Artisant logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 948
    Points : 719
    Points
    719
    Par défaut
    essaie code::blocks
    avec lui tu peut utiliser differents compilateurs

  5. #5
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Citation Envoyé par hansaplast
    essaie code::blocks
    merci, je connaissais pas, je vais essayer disuite.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  6. #6
    HRS
    HRS est déconnecté
    Membre confirmé
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    677
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 677
    Points : 638
    Points
    638
    Par défaut
    Si c'est ce problème particulier que vous voulez régler, nommez
    votre programme titi.cpp au lieu de titi.c, ce qui appelera le
    compilateur g++ au lieu de gcc

    Par contre, si vous voulez un compilateur C qui implémente TOUTE la
    norme C99, bon courage

  7. #7
    Membre éclairé
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2004
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Février 2004
    Messages : 644
    Points : 785
    Points
    785
    Par défaut
    comme le dit HRS, remplacez simplementl l'extension par .cpp ou .cc

    En fait l'extension donne un coup de main pour détecter le langage employé.

    au fait, dev-c++ et code::blocks NE SONT que des IDE comme emacs,vim, etC...

    le compilateur est gcc, g++, bcc32, etc...

    faire la différence aide beaucoup pour trouver une erreur.
    Nul ne peut mieux connaitre la connaissance qu'elle-même.

  8. #8
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut Re: devcpp et C99
    Citation Envoyé par le y@m's
    Voici l'erreur :
    'for' loop initial declaration used outside C99 mode
    Pour ne plus avoir cette erreur il faut que je declare i avant la boucle for. Il me semble bien que ma syntaxe est correct (standard C99), d'où vient le probleme ?
    Le message me semble clair: il reconnait bien que tu utilises une syntaxe C99 mais te donne une erreur parce que tu as demande de compiler en dehors de ce mode. Compiler avec -std=c99 (ISO C99) ou -std=gnu99 (C99 + extensions de GNU) devrait faire l'affaire.

    Le defaut est -std=gnu89 qui est ISO C90 + extensions de GNU (dont certaines ont ete reprises dans ISO C99).

    -ansi equivaut a -std=c90
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  9. #9
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut Re: devcpp et C99
    Citation Envoyé par Jean-Marc.Bourguet
    Compiler avec -std=c99 (ISO C99) ou -std=gnu99 (C99 + extensions de GNU) devrait faire l'affaire.
    ça marche nickel, beaucoup.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  10. #10
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet
    -ansi equivaut a -std=c90
    Tu en es sûr ?

    Citation Envoyé par man gcc (version gcc 3.4.6 20060404 (Red Hat 3.4.6-3))
    -ansi
    Dans le mode C, supporter tous les programmes ISO C89.
    Dans le mode C++, supprimer les extensions GNU en conflit avec le C++ ISO.
    (j'aurais bien affiché la version de l'aide des autres serveurs de ma boîte, mais leurs GCC ne supportent pas -std et n'indiquent pas la version du standard...)

    OK, là, ça devient bizarre:
    Citation Envoyé par Le même man
    -std=
    D?terminer le standard du langage. Cette option n'est actuellement support?e que lors de la compilation de C.
    Il faut fournir une valeur pour cette option ; les valeurs possibles sont
    c89
    iso9899:1990
    C89 ISO (m?me chose que -ansi).
    Citation Envoyé par [URL=http://tigcc.ticalc.org/doc/comopts.html]Manuel de TI-GCC[/URL]
    -ansi
    Support all ISO C89 programs. This turns off certain features of GCC that are incompatible with ISO C89, ...
    -std=standard
    Determine the language standard. A value for standard must be provided; provided; possible values are
    c89
    iso9899:1990
    ISO C90 (same as '-ansi').
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme avec boost et devcpp
    Par Krost dans le forum Dev-C++
    Réponses: 12
    Dernier message: 02/01/2005, 19h11
  2. boost et devcpp
    Par t-ma&&& dans le forum Dev-C++
    Réponses: 2
    Dernier message: 28/11/2004, 17h43
  3. [devcpp] debugger
    Par Heimdall dans le forum Dev-C++
    Réponses: 2
    Dernier message: 28/06/2004, 23h54
  4. erreurs opengl avec devcpp
    Par Vermin dans le forum OpenGL
    Réponses: 2
    Dernier message: 13/04/2004, 14h50
  5. [Directx avec devcpp...]
    Par Gonath dans le forum DirectX
    Réponses: 1
    Dernier message: 21/08/2003, 16h04

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