OVH Cloud OVH Cloud

hash_map et msvc

11 réponses
Avatar
vincent daanen
Bonjour a tous,

est-ce que le container hash_map de la Stl est "implemente" par msvc 6.0 ?

merci

Vincent

10 réponses

1 2
Avatar
Nicolas
Bonjour a tous,
Bonjour

est-ce que le container hash_map de la Stl est "implemente" par msvc 6.0 ?


Pas testé, mais en cherchant hash_map visual C++ 6.0 sur l'ami google,
on tombe sur : "I think vocal-1.5.0 should be compiled with Visual
Studio .NET because Visual C++ 6.0 doesn't have hash_map classes." "VC++
library has no header file of <hash_map>". Je ne pense donc pas, à
tester toutefois (peut-être un problème d'include ou de namespace, ou un
hack pour le trouver), mais ça semble mal parti.

merci

Vincent


Nicolas

Avatar
Ivan Vecerina
"vincent daanen" wrote in message
news:cu85i7$49a$
est-ce que le container hash_map de la Stl est "implemente" par msvc 6.0 ?
Je ne pense pas qu'il soit inclus.


Mais qui veut sérieusement utiliser les STL avec MSVC6 a meilleur
temps d'utiliser une implémentation plus récente que celle livrée
avec le compilo (qui est notoirement pré-standard).

STLport (www.stlport.org) offre un portage des STL de SGI (y.c. hash_map
et autres extensions) à de multiples plate-formes, y.c. MSVC6.
C'est gratuit, et ça marche bien.

Dinkumware (www.dinkumware.com) vend également volontiers une
mise-à-jour de son ancienne librairie distribuée avec MSVC6.


Salutations,
Ivan
--
http://ivan.vecerina.com/contact/?subject=NG_POST <- email contact form
Brainbench MVP for C++ <> http://www.brainbench.com

Avatar
Alexandre
"vincent daanen" a écrit dans le message de news:
cu85i7$49a$
Bonjour a tous,

est-ce que le container hash_map de la Stl est "implemente" par msvc 6.0 ?



hash_map n'est pas une extension ? Il est standard dans la STL ?
En tout cas aucun des compilos borland ne semble l'avoir. J'ai MSVC au
boulot, je regarderai demain.

Avatar
Loïc Joly
Ivan Vecerina wrote:

"vincent daanen" wrote in message
news:cu85i7$49a$

est-ce que le container hash_map de la Stl est "implemente" par msvc 6.0 ?


Je ne pense pas qu'il soit inclus.

Mais qui veut sérieusement utiliser les STL avec MSVC6 a meilleur
temps d'utiliser une implémentation plus récente que celle livrée
avec le compilo (qui est notoirement pré-standard).

STLport (www.stlport.org) offre un portage des STL de SGI (y.c. hash_map
et autres extensions) à de multiples plate-formes, y.c. MSVC6.
C'est gratuit, et ça marche bien.

Dinkumware (www.dinkumware.com) vend également volontiers une
mise-à-jour de son ancienne librairie distribuée avec MSVC6.


En tout cas, avant de penser à un remplacement, Dinkumware indique aussi
comment corriger quelques bugs qui y sont inclus :
http://www.dinkumware.com/vc_fixes.html

Ca permet déjà de fonctionner.

--
Loïc


Avatar
Ivan Vecerina
"Loïc Joly" wrote in message
news:4207c846$0$19411$
STLport (www.stlport.org) offre un portage des STL de SGI (y.c. hash_map
et autres extensions) à de multiples plate-formes, y.c. MSVC6.
C'est gratuit, et ça marche bien.

Dinkumware (www.dinkumware.com) vend également volontiers une
mise-à-jour de son ancienne librairie distribuée avec MSVC6.


En tout cas, avant de penser à un remplacement, Dinkumware indique aussi
comment corriger quelques bugs qui y sont inclus :
http://www.dinkumware.com/vc_fixes.html

Ca permet déjà de fonctionner.


Ca dépend: cette page ne contient que les corrections de quelques
bugs (=résultats incorrects), mais ne comble aucune lacune quant
à la non-comformance au standard.
Ayant fait l'expérience des deux options, le temps passé à 'patcher'
les fichiers fournis sera AMHA mieux mis à profit en installant STLport.

Ceci dit Dinkumware fait un excellent travail, et l'implémentation
de la librairie standard qu'ils fournissent actuellement (aussi
inclue avec MSVC7.1) est excellente. C'est juste que la version
dispo avec VC6 était déjà dépassée au moment de sa distribution
(à cause de tracasserie légales externes, dont ils sont sortis
vanqueurs, mais qui avaient forcé un temps Microsoft à distribuer
une ancienne version).

Ivan
--
http://ivan.vecerina.com/contact/?subject=NG_POST <- email contact form


Avatar
Loïc Joly
Ivan Vecerina wrote:

"Loïc Joly" wrote in message
news:4207c846$0$19411$

STLport (www.stlport.org) offre un portage des STL de SGI (y.c. hash_map
et autres extensions) à de multiples plate-formes, y.c. MSVC6.
C'est gratuit, et ça marche bien.

Dinkumware (www.dinkumware.com) vend également volontiers une
mise-à-jour de son ancienne librairie distribuée avec MSVC6.


En tout cas, avant de penser à un remplacement, Dinkumware indique aussi
comment corriger quelques bugs qui y sont inclus :
http://www.dinkumware.com/vc_fixes.html

Ca permet déjà de fonctionner.



Ca dépend: cette page ne contient que les corrections de quelques
bugs (=résultats incorrects), mais ne comble aucune lacune quant
à la non-comformance au standard.
Ayant fait l'expérience des deux options, le temps passé à 'patcher'
les fichiers fournis sera AMHA mieux mis à profit en installant STLport.

Ceci dit Dinkumware fait un excellent travail, et l'implémentation
de la librairie standard qu'ils fournissent actuellement (aussi
inclue avec MSVC7.1) est excellente. C'est juste que la version
dispo avec VC6 était déjà dépassée au moment de sa distribution
(à cause de tracasserie légales externes, dont ils sont sortis
vanqueurs, mais qui avaient forcé un temps Microsoft à distribuer
une ancienne version).


L'utilisation de STLPort n'est en général pas une option si on doit
utiliser une bibliothèque externe (non recompilable) qui utilise la STL
(on viole alors la ODR), d'où ma réponse.

--
Loïc



Avatar
Ivan Vecerina
"Loïc Joly" wrote in message
news:4207dc77$0$19423$
L'utilisation de STLPort n'est en général pas une option si on doit
utiliser une bibliothèque externe (non recompilable) qui utilise la STL
(on viole alors la ODR), d'où ma réponse.


Si la bibliothèque non-recompilable utilise la STL dans son interface,
c'est de toute façon mal barré car des différences d'un compilo (ou
d'une version!) à l'autre vont créer des erreurs.
Si non, il est à noter que STLport inclut un mécanisme pour éviter
les conflits et cohabiter avec une implémentation existante
( p.ex. en se compilat dans un namespace stlport, tout en faisant
automatiquement un #define std stlport pour que le code client
ne soit pas affecté ).

STLport n'est pas bizance, mais elle permet de mieux tirer parti de
MSVC6, d'écrire du code C++ plus standard qu'avec la biblio originale,
et surtout elle inclut hash_map ;)

Bonne,
Ivan
--
http://ivan.vecerina.com/contact/?subject=NG_POST <- email contact form

Avatar
Michel Michaud
Dans le message cu8o84$mrt$,
STLport n'est pas bizance, mais elle permet de mieux tirer parti de
MSVC6, d'écrire du code C++ plus standard qu'avec la biblio
originale, et surtout elle inclut hash_map ;)


Mais pour être standard, il faudrait probablement qu'elle l'appelle
unordered_map...

--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/

Avatar
kanze
vincent daanen wrote:

est-ce que le container hash_map de la Stl est "implemente"
par msvc 6.0 ?


Qu'est-ce que tu entends par « la STL » ? Si tu entends la
bibliothèque standard, il n'y a pas de hash_map. Si tu entends
la bibliothèque disponible à SGI, cette bibliothèque n'est fait
pas partie de MSVC (ni de la norme).

Je crois qu'il y a un hash_map dans la bibliothèque MSVC. Il me
semble avoir entendu dire, en revanche, qu'il n'est pas 100%
compatible avec celui de la SGI.

--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34

Avatar
vincent daanen
Bonjour,

wrote:

vincent daanen wrote:



est-ce que le container hash_map de la Stl est "implemente"
par msvc 6.0 ?




Qu'est-ce que tu entends par « la STL » ? Si tu entends la
bibliothèque standard, il n'y a pas de hash_map.

Oui, c'etait ca !


Vu les posts precedents, je vais regarder du cote de STLport

Vincent


1 2