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 :

Interet de compiler en -pedantic (C89)


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut Interet de compiler en -pedantic (C89)
    Oui, quel est l'interet?
    On l'utilise histoire d'être plus strict avec nous même, mais je trouve que pouvoir déclarer des variables entre les instructions peut être intéressant.

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par Gruik
    Oui, quel est l'interet?
    man gcc. ça sert juste à forcer le respect la norme. Il faut préciser la norme (option -std ou -ansi pour -std=c90).

    Citation Envoyé par Gruik
    On l'utilise histoire d'être plus strict avec nous même, mais je trouve que pouvoir déclarer des variables entre les instructions peut être intéressant.
    Avec :
    ça devrait passer

  3. #3
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Merci

  4. #4
    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 gege2061
    man gcc. ça sert juste à forcer le respect la norme. Il faut préciser la norme (option -std ou -ansi pour -std=c90).


    Avec :
    ça devrait passer
    Tant que Borland et Microsoft ne développent pas de compilateurs C99 (et ça n'arrivera probablement pas, ils considèrent que le C et mort), je considère C99 comme une extension non portable de C90.

    AMA le C99 est arrivé trop tard...

    Mais pour écrire du code non portable (Drivers Linux, par exemple), c'est OK.

  5. #5
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Mais pour écrire du code non portable (Drivers Linux, par exemple), c'est OK.
    Ok, donc c'est bon

  6. #6
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Tant que Borland et Microsoft ne développent pas de compilateurs C99 (et ça n'arrivera probablement pas, ils considèrent que le C et mort), je considère C99 comme une extension non portable de C90.
    je préfère me référer à gcc, mais dans tous les cas j'évite le C99

    Citation Envoyé par Emmanuel Delahaye
    AMA le C99 est arrivé trop tard...
    Et dire qu'il va bientot être temps de penser à un nouveau standard

  7. #7
    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 Gruik
    Oui, quel est l'interet?
    On l'utilise histoire d'être plus strict avec nous même, mais je trouve que pouvoir déclarer des variables entre les instructions peut être intéressant.
    Certes, mais ce n'est pas portable. Tu ne sais pas par qui sera repris ton code dans quelques temps, ni sur quelle plateforme, ni avec quel compilateur. De plus, ça se contourne en créant un bloc local...

  8. #8
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Oui oki
    Yavait pas que ça comme probleme, yavait aussi les chaines litterales limitées à 500 caracteres, les variadic macros (utile pour interfacer un sprintf) et d'autres truques.

    Mais vla un autre dilemme (concernant la portabilité)
    Je pense qu'on va toujours rester sur la meme architecture et qu'on va toujours utiliser gcc sous linux
    Donc j'aimerais choisir le standard GNU99 (qui est comme C99 mais quelques trucs en plus).
    Bien ou pas bien?

  9. #9
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par Gruik
    Je pense qu'on va toujours rester sur la meme architecture et qu'on va toujours utiliser gcc sous linux
    C'est le genre de prophéties auto-réalisatrices qui s'accomplissent par la mort du projet...

    Donc j'aimerais choisir le standard GNU99 (qui est comme C99 mais quelques trucs en plus).
    Bien ou pas bien?
    Il y a trois facteurs à peser: qu'est-ce que ça apporte de faire une telle supposition, qu'est-ce que ça coûte de revenir en arrière, quelle est la probabilité qu'il faille revenir en arrière. Cette dernière est difficile à estimer, le coût du retour en arrière peut être élevé (un travail frustrant difficile à automatiser), l'avantage me semble faible.

  10. #10
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet
    C'est le genre de prophéties auto-réalisatrices qui s'accomplissent par la mort du projet...
    Bein en fait on fait un peu dans le chacal ici (malgrès mes luttes contre ça), donc il ya pas mal de programmes où il reste des warnings en -pedantic. Donc on est deja pas portable. Notamment, l'utilisation du long long dont on pourra pas du tout se passer.

    Ma question actuelle est : si je specifie -std=gnu99, est-ce que ça revient pas au meme d'enlever -pedantic?

  11. #11
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par Gruik
    Bein en fait on fait un peu dans le chacal ici (malgrès mes luttes contre ça), donc il ya pas mal de programmes où il reste des warnings en -pedantic. Donc on est deja pas portable. Notamment, l'utilisation du long long dont on pourra pas du tout se passer.
    long long ce n'est pas génant, surtout si vous l'avez caché derrière un typedef. Sous un nom ou l'autre, c'est une extension courante.

    Ma question actuelle est : si je specifie -std=gnu99, est-ce que ça revient pas au meme d'enlever -pedantic?
    Non. Si j'ai bonne mémoire, ne rien spécifier, c'est -std=gnu89.

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

Discussions similaires

  1. [Compilation] Soucis avec -pedantic
    Par ChipsterJulien dans le forum C++
    Réponses: 2
    Dernier message: 31/10/2008, 11h14
  2. [Installation] Borland Compiler 5.5 sous XP
    Par Ligey dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 28/09/2002, 22h45
  3. dans le fond, la compilation...
    Par deltapositive dans le forum C++Builder
    Réponses: 5
    Dernier message: 17/09/2002, 12h14
  4. Vitesse de compilation
    Par srvremi dans le forum C++Builder
    Réponses: 5
    Dernier message: 30/07/2002, 16h49
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

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