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 :

Commentaires style C++ sur un vieux GCC


Sujet :

C

  1. #1
    Membre confirmé Avatar de Gui13
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Par défaut Commentaires style C++ sur un vieux GCC
    Salut à tous,

    Ma version de GCC est plutôt vieille, c'est une version 2.6.0.
    Je sais plus de quand elle date, mais on est obligés de l'utiliser au boulot.

    Voici ma question: lorsque j'utilise des commentaire à la C++, c'est à dire:
    Ca me donne à la compilation:
    src/fichier.c:13: parse error before `/'
    Je me demandais si c'était pas simplement une option à ajouter/enlever dans mes paramètres de compilation?

    Voici la liste des paramètres que j'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -nostdinc -Wa -Wimplicit -fno-defer-pop -Wa,-L -g  -O  -W -Wall -Werror
    (j'ai enlevé les -I et les -B et les -l)

    Edit: vous remarquerez quelques options exotique, genre nostdinc, c'est normal, c'est pour un SDK un peu spécial dédié à l'embarqué.

    Une idée?

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    oui, mettre des commentaires portables /* */

  3. #3
    Membre confirmé Avatar de Gui13
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Par défaut
    Héhé ouais, mais sur un clavier Français ca fait bouger le doigt bien plus loin

    J'ai rien trouvé en cherchant sur internet à ce propos, si ca se trouve mon vieux gcc ne gère même pas cette option...

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Gui13 Voir le message
    Héhé ouais, mais sur un clavier Français ca fait bouger le doigt bien plus loin


    Le / est à 2 touches de * !!!!

  5. #5
    Membre confirmé Avatar de Gui13
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Par défaut
    N'empêche que "// " est vachement moins long que "/* */":

    - c'est la même touche, c'est bien plus simple (et plus rapide) à coordonner que deux touches, surtout que ton petit doigt droit enfonce la touche shift à ce moment là. Je suis obligé de gymnastiquer pour faire les commentaire C-style.

    - 3 frappes de clavier (avec l'espace) au lieu de 5, et ce sans avoir besoin de revenir au milieu du sigle pour commencer ton commentaire (donc encore 2 touches clavier en moins)

    - très subjectivement, c'est plus beau pour des one-liners qui viennent se caler juste après une opération (si tu peux rester dans la limite des 80 lettres)

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    C'est vrai que les commentaires /* */ c'est pas toujours pratique. Mais il existe des éditeurs de texte qui nous simplifie bien la vie parfois. Par exemple, sous Notepad++ (c'est ce que j'utilise pour coder), il y a un raccourci clavier (paramétrable) qui permet de commenter une sélection.
    J'ai configuré ce raccourci avec les touches "CTRL + slash". Il me suffit de sélectionner la partie de code à commenter, d'appuyer sur CTRL+slash, et hop, toute la sélection est commentée avec /* et */. Super pratique. Par contre, ils n'ont rien prévu pour décommenter, alors qu'ils l'ont pourtant fait pour le mode ligne, je pige pas. Je vais peut-être leur écrire et les embêter avec ça.

  7. #7
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    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 398
    Par défaut
    2.6.0, c'est trop vieux pour une option du genre -std=c90?
    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.

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Ce que je ne comprends pas, c'est pourquoi vous êtes obligés d'utiliser une si vieille version de GCC. C'est insensé, c'est une version qui apparemment date du 14 juillet... 1994 ! Depuis tout ce temps il y a un bon paquet de flotte qui a coulé sous le pont (et peut-être même que le pont n'existe d'ailleurs plus ).

  9. #9
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    dans tous les cas, les commentaires C++ ont été autorisés en C a partir du C99, donc aucune chance qu'un compilo de 94 les autorisent (sauf extension particulière)
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  10. #10
    Membre émérite
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Par défaut
    Pourquoi ne fais-tu tout simplement pas un programme qui transforme les commentaires // en /* */.

  11. #11
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    aussi une remarque :

    -g met le debug
    -O optimise


    C'est plutôt contradictoire...


    Si tu veux vraiment faire un truc léger, je te conseille d'enlever le -g.

    Et peut-être d'optimiser avec -O2

    Et peut-être de faire tourner "strip nom-programme" ensuite...

  12. #12
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par jeroman Voir le message
    Ce que je ne comprends pas, c'est pourquoi vous êtes obligés d'utiliser une si vieille version de GCC. C'est insensé, c'est une version qui apparemment date du 14 juillet... 1994 ! Depuis tout ce temps il y a un bon paquet de flotte qui a coulé sous le pont (et peut-être même que le pont n'existe d'ailleurs plus ).
    16 ans, c'est pas non plus anté-diluvien !!!


    Bienvenue dans le monde réel

  13. #13
    Membre émérite Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Par défaut
    La diff entre le binaire d'une "vielle" version de gcc et d'une nouvelle est stupéfiant, pour ce qui est des commentaires, je suis sur que ton editeur de texte prefere (pas de nom, pas de troll), te permettra de faire un raccourci clavier interressant (ou a /S/\/*/\/)

  14. #14
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    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 398
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    -g met le debug
    -O optimise


    C'est plutôt contradictoire...
    Plus tant que ça, si tu n'es pas en -Os: Les informations de débogage ne ralentissent pas vraiment le programme, car il ne s'agit pas de code de débogage, seulement de données.
    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.

  15. #15
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    oui, mais puisque c'est pour de l'embarqué, la taille de ton binaire étant plus grosse, tu prends de la place inutilement - sauf si tu es absolument en phase de débuggage -


    L'optimisation en vitesse a un sens. Mais la taille mémoire aussi..

  16. #16
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par sloshy Voir le message
    [...]pour ce qui est des commentaires, je suis sur que ton editeur de texte prefere (pas de nom, pas de troll), te permettra de faire un raccourci clavier interressant (ou a /S/\/*/\/)
    Tu pourrai aussi mettre une commande dans le makefile pour transformer les '//...\n' en '/*...*/'.

  17. #17
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    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 398
    Par défaut
    Ah, j'avais oublié, sur le coup, que c'était pour de l'embarqué.
    Ça me rappelle la communauté TI68k, don't un membre était (et est peut-être toujours) un obsédé de l'optimisation en taille, apparemment sans comprendre que les seuls jeux qu'il programmait (des jeux de réflexion sans une once de "jeu temps réel") n'étaient pas la norme...
    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.

  18. #18
    Membre confirmé Avatar de Gui13
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Par défaut
    Pas bête cette idée du makefile, mais du coup ca risque de prendre des plombes sur le projet de 300 fichiers sources que j'ai!

    J'ai rongé mon frein, je continuerais à utiliser les /**/.

    Pour ce qui est du -g, je n'ai pas la réponse exacte, mais je pense que le plus gros du programme est pris par les ressources graphiques, qui prennent qqchose comme 4Mo (l'executable en lui-même pesant dans les 300ko avec les infos de debug).
    Mais je vais me renseigner, c'est une bonne piste d'optimisation.

  19. #19
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par Gui13 Voir le message
    Pas bête cette idée du makefile, mais du coup ca risque de prendre des plombes sur le projet de 300 fichiers sources que j'ai!
    Il doit y avoir moyen de créer un makefile qui ne considère que les fichiers corrigés : au lieu d'avoir source -> objets -> programme, on aurait source -> source-corrigés -> objets -> programme.
    Du coup, à part à la première utilisation, ça ne devrait pas prendre beaucoup plus de temps.

    Sinon, une commande sed qui permet de faire ça est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed "s?//\(.*\)?/*\1 */?" file.c > newfile.c
    Une dernière info, le support des commentaires c++ est apparu avec gcc 2.7.

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

Discussions similaires

  1. Arrêt étrange sur un vieux portable
    Par Eusebius dans le forum Matériel
    Réponses: 13
    Dernier message: 06/11/2006, 21h32
  2. Reinstallation d' un OS win98 sur un vieux PC
    Par Marc_3 dans le forum Windows 2000/Me/98/95
    Réponses: 22
    Dernier message: 16/10/2006, 08h07
  3. delete sur messages vieux de plus de 10 minutes
    Par Ralfman68 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 23/09/2006, 20h26
  4. clrscr() sur linux avec gcc?
    Par chrix10.2 dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 17/08/2006, 16h32

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