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

Autres éditeurs Discussion :

Comment avoir GCC 4.2 sous Windows?


Sujet :

Autres éditeurs

  1. #21
    Inactif  
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 743
    Points : 460
    Points
    460
    Par défaut
    Citation Envoyé par Alp
    Concepts
    Je viens de lire le paragraphe correspondant. C'est pas mal non plus.

    Pour l'instant je ne vois rien de franchement nouveau dans C++0x.
    C'est surtout beaucoup de garde-fous (un peu comme 'const', théoriquement non indispensable mais tellement pratique)

  2. #22
    Inactif  
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 743
    Points : 460
    Points
    460
    Par défaut
    GCC 4.2 ne marche pas nickel sous Windows. Les erreurs suivantes n'étaient pas révélées par un programme "hello world".

    Il m'a fallu faire des changements dans la librairie standard sur 2 type d'erreurs. J'espère que mes rustines tiendront...

    Suis-je le seul avoir ces 2 familles d'erreur?

    1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    c:/mingw/bin/../lib/gcc/mingw32/4.2.1/../../../../include/c++/4.2.1/mingw32/bits/c++locale.h: In function 'int std::__convert_from_v(int* const&, char*, int, const char*, ...)':
    c:/mingw/bin/../lib/gcc/mingw32/4.2.1/../../../../include/c++/4.2.1/mingw32/bits/c++locale.h:65: sorry, unimplemented: function 'int std::__convert_from_v(int* const&, char*, int, const char*, ...)' can never be inlined because it uses variable argument lists
    "Sorry unimplemented" !!!
    j'ai changé le mot 'inline' par 'static'

    2)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    C:\MinGW\lib/libstdc++.a(stubs.o):stubs.c:(.text+0xd0): multiple definition of `sinhf'
    debug\main.o:C:/MinGW/include/math.h:433: first defined here
    collect2: ld returned 1 exit status
    J'ai ôté le contenu des fonctions mathématiques concernées.

  3. #23
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Sur les concepts :
    Citation Envoyé par Charlemagne
    Je viens de lire le paragraphe correspondant. C'est pas mal non plus.

    Pour l'instant je ne vois rien de franchement nouveau dans C++0x.
    C'est surtout beaucoup de garde-fous (un peu comme 'const', théoriquement non indispensable mais tellement pratique)
    En l'occurrence, ça va plus loin que simplement des garde fous. La possibilité de faire de l'overloading sur des concepts permet de simplifier largement l'écriture de certains templates, en supprimant par exemple l'utilisation de classe de traits. L'exemple canonique est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    template<Forward_iterator Iter> void advance(Iter& p, int n)
    {
      for (int i=0; i<n; ++i) ++p;
    }
    template<Random_iterator Iter> void advance(Iter& p, int n)
    {
      p += n;
    }
    Les concept_map me semblent aussi très intéressantes, permettant de mapper deux types issus de bibliothèques différentes. Je ne sais pas trop à quoi ça va pouvoir servir, et jusqu'où aller, mais j'y sens du potentiel, ne serait-ce que dans des domaines où une difficulté est la multiplicité des bibliothèques disponibles et utilisées (et non compatibles entre elles).

  4. #24
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 861
    Points
    11 861
    Par défaut
    Oui j'avais lu pour la surcharge grâce aux concepts.

    Pour préciser à ceux qui ne s'y sont pas intéressés, ici Forward_Iterator et Random_Iterator sont deux concepts, c'est à dire des unités définissant en quelques sortes une interface, si l'on peut dire ... Par exemple, un Forward_Iterator doit posséder un opérateur ++, un opérateur de déréférencement, etc ...

    Moi non plus j'ai pas encore bien saisi pour les concept_maps. Ca va venir

  5. #25
    Inactif  
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 743
    Points : 460
    Points
    460
    Par défaut
    Avec GCC4.2, j'ai eu également des problèmes d'alignement de la pile, problèmes qui n'existaient pas avec GCC 3.4. (J'ai besoin de l'alignement de la pile pour les instructions SIMD). Enfin bref, j'ai adapté mon code en conséquence.

    A propos de C++0x, je ne suis toujours pas convaincu. (certes je n'ai encore rien lu sur les concept_maps, mais ce n'est vraissemblement qu'une nouvelle classe de la STL).
    Je trouve toujours qu'il n'y a rien de vraiment innovant. Faut rien voir à mal de ma critique: Je trouve les changement très intéressants, mais ça se limite quand même à:
    -quelques nouvelles classes pour la STL: shared pointer, expression régulières, table de hachage...
    -des simplifications et des gardes fous pour la programmation générique: variables automatiques, concepts, template typedefs (depuis le temps que j'attends ça, mais c'était simulable avec la technique des 'rebind'...).
    -peut-être du muti-threading, mais y'avait moyen d'en faire avant
    ...
    Bref je trouve que C++0x colmate pas mal de trous du C++

    J'aurais apprécié
    -une bibliothèque standard pour les interfaces graphiques (ça doit pas être évident d'en faire un bon standard)
    -peut-être aussi une classe matrice (mais je n'en ai plus vraiment besoin)
    -des expressions templates avec des containers compatibles
    ...

  6. #26
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Citation Envoyé par Charlemagne
    A propos de C++0x, je ne suis toujours pas convaincu. (certes je n'ai encore rien lu sur les concept_maps, mais ce n'est vraissemblement qu'une nouvelle classe de la STL).
    Non, c'est un nouveau mot clef du langage. L'idée, par exemple, c'est qu'un template qui s'attend à avoir un type qui correspond au concept stack (avoir un push et un pop), tu peux lui passer un vector, en précisant qu'un vector, c'est une stack dont le push s'écrit push_back, et le pop s'écrit pop_back.

  7. #27
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 281
    Points : 11 029
    Points
    11 029
    Par défaut
    Concernant les GCC récents sous Windows, il y a encore des problèmes d'où le fait qu'il n'y ait pas encore eu de release officielle.

    Régulièrement, sur la ML de cygwin, on voit des rapports d'avancement de particuliers qui compilent GCC 4.x pour cygwin. Je ne peux que t'inviter à y jeter un coup d'oeil relativement aux patchs déployés et autres bidouilles réalisées.

  8. #28
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    mingw passe à la beta de gcc 4.2.1
    http://article.gmane.org/gmane.comp....ngw.user/23358

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/12/2006, 18h27
  2. [Apache]Comment cohabiter apache2 et tomcat5 sous Windows?
    Par jlassira dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 13/02/2006, 16h35
  3. Comment detecter une partition linux sous windows?
    Par ibtisss dans le forum Administration système
    Réponses: 5
    Dernier message: 09/02/2006, 11h15
  4. Comment désactiver Ctrl+Alt+Del sous Windows XP
    Par ETOKA dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 04/06/2003, 13h34

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