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

Visual C++ Discussion :

utilisation de vector sous VC++6


Sujet :

Visual C++

  1. #1
    Membre �prouv�
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    D�tails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Par d�faut utilisation de vector sous VC++6
    Bonjour,
    est-il probl�matique d'utiliser la STL avec VC++ 6 ?

    Je rencontre pas mal de warning pour du code pourtant tr�s basqiue.

    c:\program files\microsoft visual studio\vc98\include\xmemory(39) : warning C4100: '_P' : unreferenced formal parameter
    c:\program files\microsoft visual studio\vc98\include\xmemory(41) : warning C4100: '_P' : unreferenced formal parameter
    c:\program files\microsoft visual studio\vc98\include\vector(249) : warning C4663: C++ language change: to explicitly specialize class template 'vector' use the following syntax:
    template<> class vector<bool,class std::allocator<unsigned int> > ...
    c:\program files\microsoft visual studio\vc98\include\vector(156) : warning C4018: '<' : signed/unsigned mismatch
    c:\program files\microsoft visual studio\vc98\include\vector(156) : while compiling class-template member function 'void __thiscall std::vector<unsigned int,class std::allocator<unsigned int> >::insert(unsigned int *,unsigned int,const unsigned int &)'
    c:\program files\microsoft visual studio\vc98\include\vector(167) : warning C4018: '<' : signed/unsigned mismatch
    c:\program files\microsoft visual studio\vc98\include\vector(156) : while compiling class-template member function 'void __thiscall std::vector<unsigned int,class std::allocator<unsigned int> >::insert(unsigned int *,unsigned int,const unsigned int &)'
    c:\program files\microsoft visual studio\vc98\include\vector(156) : warning C4018: '<' : signed/unsigned mismatch
    c:\program files\microsoft visual studio\vc98\include\vector(156) : while compiling class-template member function 'void __thiscall std::vector<class Chaine,class std::allocator<class Chaine> >::insert(class Chaine *,unsigned int,const class Chaine &)'
    c:\program files\microsoft visual studio\vc98\include\vector(167) : warning C4018: '<' : signed/unsigned mismatch
    c:\program files\microsoft visual studio\vc98\include\vector(156) : while compiling class-template member function 'void __thiscall std::vector<class Chaine,class std::allocator<class Chaine> >::insert(class Chaine *,unsigned int,const class Chaine &)'
    c:\program files\microsoft visual studio\vc98\include\xmemory(37) : warning C4100: '_P' : unreferenced formal parameter
    c:\program files\microsoft visual studio\vc98\include\xmemory(68) : see reference to function template instantiation 'void __cdecl std::_Destroy(unsigned int *)' being compiled
    Linking...

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    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 397
    Par d�faut
    Tu es en /W4, visiblement...

    Si tu veux virer ces warnings, tu peux les d�sactiver avec quelques pragmas avant tes includes...
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    #pragma warning(push) //J'espère que VC6 supporte le push pour les warnings...
    #pragma warning(disable:4100) //unreferenced formal parameter
    #pragma warning(disable:4018) //etc.
    #include <vector>
    #pragma warning(pop)
    Pour le warning C4663 par contre, tu peux le d�sactiver aussi, mais c'est vraiment le warning le plus ridicule que j'aie vu dans le SDK li� � un compilateur...

    On dirait qu'ils n'ont jamais essay� de compiler leur STL en /W4...
    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.

  3. #3
    Membre �prouv�
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    D�tails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Par d�faut
    D'accord pour virer les warnings, mais derri�re, est-ce que le support de la STL est OK en VC++ 6 en g�n�ral ?

    Je d�bute sous VC++ 6 et je me demande si c'est une bonne id�e de faire appel � la STL � droite � gauche dans le projet si cela doit �tre source de probl�me pour la suite.

  4. #4
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    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 397
    Par d�faut
    Citation Envoy� par NiamorH Voir le message
    D'accord pour virer les warnings, mais derri�re, est-ce que le support de la STL est OK en VC++ 6 en g�n�ral ?
    Plus ou moins.
    Leur STL a quelques bugs connus, qui sont d�crits sur le site de Dinkumware, la bo�te qui la leur a vendue...

    Mais peut-�tre que tu peux r�soudre le probl�me en t�l�chargeant un SDK plus r�cent que celui d'origine. Le dernier � �tre officiellement support� par Visual Studio 6 est celui de F�vrier 2003...
    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.

  5. #5
    Membre extr�mement actif
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 221
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 221
    Par d�faut
    Et je rajoute :

    L'utilisation de la stl sous VC++ est m�me conseill�e pour faire un programme plus standard et plus portable. Mais en effet sous VC++ 6 de 1998 tout court, la STL a encore quelques bugs, il faut obtenir un SDK plus r�cent. Merci M�dinoc pour ces trucs de #pragma pour enlever les warnings !!
    randriano.dvp.com
    D�veloppeur. Product Owner [Agile]. Sites web, mobile apps, syst�me d'information (SI).

  6. #6
    Membre �prouv�
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    D�tails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Par d�faut
    Un exemple : apperement il y a eu un bug (c'est pas moi qui l'ai vu ni corrig�) lors de l'utilisation des fonctions isalpha, isalnum et isspace de la STL.

    En mode debug elles se comportaient correctement et plus en release... notamment le caract�re �.

    Je pourrais pas rentrer plus dans les d�tails car j'ai pas vu le code, mais �a me fait me poser des questions sur l'utilisation de la STL dans le projet.

    Pour le SDK r�cent, VS6 SP6 est d�j� install�.

  7. #7
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    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 397
    Par d�faut
    � ma connaissance, les Service Packs de Visual 6 ne contenaient pas de mise � jour drastique du SDK. Les "Platform SDK Update", si.
    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.

Discussions similaires

  1. Je ne peux pas utiliser vector sous VS2008
    Par xyz911 dans le forum C++
    R�ponses: 7
    Dernier message: 20/05/2009, 09h37
  2. [FreePascal] Utilisation de Graph sous FreePascal
    Par tit charles dans le forum Free Pascal
    R�ponses: 6
    Dernier message: 13/12/2004, 13h56
  3. [D8] Utilisation dll D7 sous D8
    Par smyley dans le forum Delphi .NET
    R�ponses: 2
    Dernier message: 01/11/2004, 11h28
  4. Comment utiliser Site Exec sous FTP
    Par phig dans le forum D�veloppement
    R�ponses: 2
    Dernier message: 12/08/2003, 17h11
  5. utilisation des sockets sous windows
    Par Tupac dans le forum R�seau
    R�ponses: 2
    Dernier message: 21/12/2002, 18h24

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