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 : 42
    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
    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 :resolu:

    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 chevronné
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    678
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 678
    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 : 42
    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
    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 :resolu:

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

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 950
    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 : 42
    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
    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 :resolu:

    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 chevronné
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    678
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 678
    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 émérite
    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
    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.

  8. #8
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    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

  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 : 42
    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
    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 :resolu:

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

  10. #10
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 391
    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 391
    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