Bonjour à tous, au risque d'être HS, j'ai une question qui porte sur le
support des template sur la plupart des compilateurs C++ (Visual,
CodeWarrior, Gnu, ...).
Avez vous eu des problèmes dans le code généré qui seraient liés à
l'usage de template dans votre code?
Je n'en ai pas personnelement(sur MS Visual .Net 2003) mais "on m'a dit
que" certains compilateurs de la famille GNU les supporteraient mal.
Bonjour à tous, au risque d'être HS, j'ai une question qui porte sur le
support des template sur la plupart des compilateurs C++ (Visual,
CodeWarrior, Gnu, ...).
Avez vous eu des problèmes dans le code généré qui seraient liés à
l'usage de template dans votre code?
Je n'en ai pas personnelement(sur MS Visual .Net 2003) mais "on m'a dit
que" certains compilateurs de la famille GNU les supporteraient mal.
Bonjour à tous, au risque d'être HS, j'ai une question qui porte sur le
support des template sur la plupart des compilateurs C++ (Visual,
CodeWarrior, Gnu, ...).
Avez vous eu des problèmes dans le code généré qui seraient liés à
l'usage de template dans votre code?
Je n'en ai pas personnelement(sur MS Visual .Net 2003) mais "on m'a dit
que" certains compilateurs de la famille GNU les supporteraient mal.
A ma connaissance, il n'existe qu'un seul compilateur C++ de la famille
"GNU" et c'est celui de gcc, non ?
A ma connaissance, il n'existe qu'un seul compilateur C++ de la famille
"GNU" et c'est celui de gcc, non ?
A ma connaissance, il n'existe qu'un seul compilateur C++ de la famille
"GNU" et c'est celui de gcc, non ?
Je n'en ai pas personnelement(sur MS Visual .Net 2003) mais "on m'a dit
que" certains compilateurs de la famille GNU les supporteraient mal.
Je n'en ai pas personnelement(sur MS Visual .Net 2003) mais "on m'a dit
que" certains compilateurs de la famille GNU les supporteraient mal.
Je n'en ai pas personnelement(sur MS Visual .Net 2003) mais "on m'a dit
que" certains compilateurs de la famille GNU les supporteraient mal.
A ma connaissance, il n'existe qu'un seul compilateur C++ de la famille
"GNU" et c'est celui de gcc, non ?
Mais il y a eu un paquet de versions très différentes en relativement
peu de temps.
A ma connaissance, il n'existe qu'un seul compilateur C++ de la famille
"GNU" et c'est celui de gcc, non ?
Mais il y a eu un paquet de versions très différentes en relativement
peu de temps.
A ma connaissance, il n'existe qu'un seul compilateur C++ de la famille
"GNU" et c'est celui de gcc, non ?
Mais il y a eu un paquet de versions très différentes en relativement
peu de temps.
Raskalito des ouabes
writes:Je n'en ai pas personnelement(sur MS Visual .Net 2003) mais
"on m'a dit que" certains compilateurs de la famille GNU les
supporteraient mal.
Le support des templates de g++ a plutot bonne reputation.
Je n'ai jamais eu de problemes avec, mais ecrivant du code
devant passer avec SparcWorks ce n'est guere surprenant...
Est-ce que par hasard "on" ne confondrait pas support de la
recherche des noms en 2 phases (disponibles avec g++ depuis
3.4 me semble-t'il) et probleme dans le compilateur. Si c'est
le cas, c'est dans le code qu'il y a un probleme; le message
d'erreur de g++ est relativement clair:
test2phase.cc:4: error: there are no arguments to `g' that depend on a te mplate parameter, so a declaration of `g' must be available
test2phase.cc:4: error: (if you use `-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
Raskalito des ouabes
<Ben_j_ai_pas_envie_qu_on_m_ecrive@chaispas.fr> writes:
Je n'en ai pas personnelement(sur MS Visual .Net 2003) mais
"on m'a dit que" certains compilateurs de la famille GNU les
supporteraient mal.
Le support des templates de g++ a plutot bonne reputation.
Je n'ai jamais eu de problemes avec, mais ecrivant du code
devant passer avec SparcWorks ce n'est guere surprenant...
Est-ce que par hasard "on" ne confondrait pas support de la
recherche des noms en 2 phases (disponibles avec g++ depuis
3.4 me semble-t'il) et probleme dans le compilateur. Si c'est
le cas, c'est dans le code qu'il y a un probleme; le message
d'erreur de g++ est relativement clair:
test2phase.cc:4: error: there are no arguments to `g' that depend on a te mplate parameter, so a declaration of `g' must be available
test2phase.cc:4: error: (if you use `-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
Raskalito des ouabes
writes:Je n'en ai pas personnelement(sur MS Visual .Net 2003) mais
"on m'a dit que" certains compilateurs de la famille GNU les
supporteraient mal.
Le support des templates de g++ a plutot bonne reputation.
Je n'ai jamais eu de problemes avec, mais ecrivant du code
devant passer avec SparcWorks ce n'est guere surprenant...
Est-ce que par hasard "on" ne confondrait pas support de la
recherche des noms en 2 phases (disponibles avec g++ depuis
3.4 me semble-t'il) et probleme dans le compilateur. Si c'est
le cas, c'est dans le code qu'il y a un probleme; le message
d'erreur de g++ est relativement clair:
test2phase.cc:4: error: there are no arguments to `g' that depend on a te mplate parameter, so a declaration of `g' must be available
test2phase.cc:4: error: (if you use `-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
Jean-Marc Bourguet wrote:Raskalito des ouabes
writes:Je n'en ai pas personnelement(sur MS Visual .Net 2003) mais
"on m'a dit que" certains compilateurs de la famille GNU les
supporteraient mal.
Le support des templates de g++ a plutot bonne reputation.
Ça dépend de ce qu'on entend par « support ». Ils ont une bonne
réputation en ce qui concerne la conformance à la norme (sauf,
évidemment, en ce qui concerne export). Son support du code
existant, qui marchait avec la version précédante, n'est pas
toujours aussi bien qu'on pourrait vouloir.
Je n'ai jamais eu de problemes avec, mais ecrivant du code
devant passer avec SparcWorks ce n'est guere surprenant...
Cependant... C'est assez simple d'écrire du code qui marche avec
SparcWorks, et non avec g++. La version de SparcWorks que j'ai,
au moins, ne supporte pas la récherche à deux phases. Selon la
norme, c'est g++ qui a raison, et SparcWorks qui a tort. Mais si
tu as développé sous SparcWorks (ou même sur une version
précédante de g++), c'est sous g++ que ton code ne va pas
marcher.
Jean-Marc Bourguet wrote:
Raskalito des ouabes
<Ben_j_ai_pas_envie_qu_on_m_ecrive@chaispas.fr> writes:
Je n'en ai pas personnelement(sur MS Visual .Net 2003) mais
"on m'a dit que" certains compilateurs de la famille GNU les
supporteraient mal.
Le support des templates de g++ a plutot bonne reputation.
Ça dépend de ce qu'on entend par « support ». Ils ont une bonne
réputation en ce qui concerne la conformance à la norme (sauf,
évidemment, en ce qui concerne export). Son support du code
existant, qui marchait avec la version précédante, n'est pas
toujours aussi bien qu'on pourrait vouloir.
Je n'ai jamais eu de problemes avec, mais ecrivant du code
devant passer avec SparcWorks ce n'est guere surprenant...
Cependant... C'est assez simple d'écrire du code qui marche avec
SparcWorks, et non avec g++. La version de SparcWorks que j'ai,
au moins, ne supporte pas la récherche à deux phases. Selon la
norme, c'est g++ qui a raison, et SparcWorks qui a tort. Mais si
tu as développé sous SparcWorks (ou même sur une version
précédante de g++), c'est sous g++ que ton code ne va pas
marcher.
Jean-Marc Bourguet wrote:Raskalito des ouabes
writes:Je n'en ai pas personnelement(sur MS Visual .Net 2003) mais
"on m'a dit que" certains compilateurs de la famille GNU les
supporteraient mal.
Le support des templates de g++ a plutot bonne reputation.
Ça dépend de ce qu'on entend par « support ». Ils ont une bonne
réputation en ce qui concerne la conformance à la norme (sauf,
évidemment, en ce qui concerne export). Son support du code
existant, qui marchait avec la version précédante, n'est pas
toujours aussi bien qu'on pourrait vouloir.
Je n'ai jamais eu de problemes avec, mais ecrivant du code
devant passer avec SparcWorks ce n'est guere surprenant...
Cependant... C'est assez simple d'écrire du code qui marche avec
SparcWorks, et non avec g++. La version de SparcWorks que j'ai,
au moins, ne supporte pas la récherche à deux phases. Selon la
norme, c'est g++ qui a raison, et SparcWorks qui a tort. Mais si
tu as développé sous SparcWorks (ou même sur une version
précédante de g++), c'est sous g++ que ton code ne va pas
marcher.
"kanze" writes:Jean-Marc Bourguet wrote:Raskalito des ouabes
writes:Je n'en ai pas personnelement(sur MS Visual .Net 2003)
mais "on m'a dit que" certains compilateurs de la
famille GNU les supporteraient mal.
Le support des templates de g++ a plutot bonne reputation.
Ça dépend de ce qu'on entend par « support ». Ils ont une
bonne réputation en ce qui concerne la conformance à la
norme (sauf, évidemment, en ce qui concerne export). Son
support du code existant, qui marchait avec la version
précédante, n'est pas toujours aussi bien qu'on pourrait
vouloir.
Tu es parfois schizophrene :-)
tu reproches a SparcWorks sa mauvais bibliotheque (due pour
une bonne partie a son souci de compatibilite avec les
versions precedantes) et a g++ son manque de compatibilite.
(Et si ton reproche concerne 3.4 par rapport a ce qu'il y a
avait avant, c'est tres severe quand on sait que le parseur
C++ a totalement ete reecrit; c'aurait merite un changement du
premier chiffre si le numero de version de gcc n'etait pas
global pour l'ensemble des compilateurs de la collection)
Je n'ai jamais eu de problemes avec, mais ecrivant du code
devant passer avec SparcWorks ce n'est guere surprenant...
Cependant... C'est assez simple d'écrire du code qui marche
avec SparcWorks, et non avec g++. La version de SparcWorks
que j'ai, au moins, ne supporte pas la récherche à deux
phases. Selon la norme, c'est g++ qui a raison, et
SparcWorks qui a tort. Mais si tu as développé sous
SparcWorks (ou même sur une version précédante de g++),
c'est sous g++ que ton code ne va pas marcher.
Avec aCC d'HP dans la boucle, le code a risque a ete identifie
depuis longtemps :-) (pour ceux que ca interesse, il y a un
4ieme compilateur utilise, xlC d'IBM ce qui fait 11 cibles en
considerant 32 et 64 bits comme des cibles differentes).
"kanze" <kanze@gabi-soft.fr> writes:
Jean-Marc Bourguet wrote:
Raskalito des ouabes
<Ben_j_ai_pas_envie_qu_on_m_ecrive@chaispas.fr> writes:
Je n'en ai pas personnelement(sur MS Visual .Net 2003)
mais "on m'a dit que" certains compilateurs de la
famille GNU les supporteraient mal.
Le support des templates de g++ a plutot bonne reputation.
Ça dépend de ce qu'on entend par « support ». Ils ont une
bonne réputation en ce qui concerne la conformance à la
norme (sauf, évidemment, en ce qui concerne export). Son
support du code existant, qui marchait avec la version
précédante, n'est pas toujours aussi bien qu'on pourrait
vouloir.
Tu es parfois schizophrene :-)
tu reproches a SparcWorks sa mauvais bibliotheque (due pour
une bonne partie a son souci de compatibilite avec les
versions precedantes) et a g++ son manque de compatibilite.
(Et si ton reproche concerne 3.4 par rapport a ce qu'il y a
avait avant, c'est tres severe quand on sait que le parseur
C++ a totalement ete reecrit; c'aurait merite un changement du
premier chiffre si le numero de version de gcc n'etait pas
global pour l'ensemble des compilateurs de la collection)
Je n'ai jamais eu de problemes avec, mais ecrivant du code
devant passer avec SparcWorks ce n'est guere surprenant...
Cependant... C'est assez simple d'écrire du code qui marche
avec SparcWorks, et non avec g++. La version de SparcWorks
que j'ai, au moins, ne supporte pas la récherche à deux
phases. Selon la norme, c'est g++ qui a raison, et
SparcWorks qui a tort. Mais si tu as développé sous
SparcWorks (ou même sur une version précédante de g++),
c'est sous g++ que ton code ne va pas marcher.
Avec aCC d'HP dans la boucle, le code a risque a ete identifie
depuis longtemps :-) (pour ceux que ca interesse, il y a un
4ieme compilateur utilise, xlC d'IBM ce qui fait 11 cibles en
considerant 32 et 64 bits comme des cibles differentes).
"kanze" writes:Jean-Marc Bourguet wrote:Raskalito des ouabes
writes:Je n'en ai pas personnelement(sur MS Visual .Net 2003)
mais "on m'a dit que" certains compilateurs de la
famille GNU les supporteraient mal.
Le support des templates de g++ a plutot bonne reputation.
Ça dépend de ce qu'on entend par « support ». Ils ont une
bonne réputation en ce qui concerne la conformance à la
norme (sauf, évidemment, en ce qui concerne export). Son
support du code existant, qui marchait avec la version
précédante, n'est pas toujours aussi bien qu'on pourrait
vouloir.
Tu es parfois schizophrene :-)
tu reproches a SparcWorks sa mauvais bibliotheque (due pour
une bonne partie a son souci de compatibilite avec les
versions precedantes) et a g++ son manque de compatibilite.
(Et si ton reproche concerne 3.4 par rapport a ce qu'il y a
avait avant, c'est tres severe quand on sait que le parseur
C++ a totalement ete reecrit; c'aurait merite un changement du
premier chiffre si le numero de version de gcc n'etait pas
global pour l'ensemble des compilateurs de la collection)
Je n'ai jamais eu de problemes avec, mais ecrivant du code
devant passer avec SparcWorks ce n'est guere surprenant...
Cependant... C'est assez simple d'écrire du code qui marche
avec SparcWorks, et non avec g++. La version de SparcWorks
que j'ai, au moins, ne supporte pas la récherche à deux
phases. Selon la norme, c'est g++ qui a raison, et
SparcWorks qui a tort. Mais si tu as développé sous
SparcWorks (ou même sur une version précédante de g++),
c'est sous g++ que ton code ne va pas marcher.
Avec aCC d'HP dans la boucle, le code a risque a ete identifie
depuis longtemps :-) (pour ceux que ca interesse, il y a un
4ieme compilateur utilise, xlC d'IBM ce qui fait 11 cibles en
considerant 32 et 64 bits comme des cibles differentes).
Jean-Marc Bourguet wrote:
[...]
En somme, si tu es implémenteur, quoique tu fasses, c'est faux.
Avec aCC d'HP dans la boucle, le code a risque a ete identifie
depuis longtemps :-) (pour ceux que ca interesse, il y a un
4ieme compilateur utilise, xlC d'IBM ce qui fait 11 cibles en
considerant 32 et 64 bits comme des cibles differentes).
C'est la portabilité vecue.
La seule vraie. N'empèche que je parie que vous avez eu des
problèmes lorsque les compilateurs ont commencé à implémenter la
récherche en deux phases.
Le problème que nous sommes en train de vivre, c'est que jusqu'il y
a peu ici, la portabilité n'était pas vraiment un thème, et quand on
y pensait, c'était entre Sun CC 4.2 et VC++ 6.0,
Jean-Marc Bourguet wrote:
[...]
En somme, si tu es implémenteur, quoique tu fasses, c'est faux.
Avec aCC d'HP dans la boucle, le code a risque a ete identifie
depuis longtemps :-) (pour ceux que ca interesse, il y a un
4ieme compilateur utilise, xlC d'IBM ce qui fait 11 cibles en
considerant 32 et 64 bits comme des cibles differentes).
C'est la portabilité vecue.
La seule vraie. N'empèche que je parie que vous avez eu des
problèmes lorsque les compilateurs ont commencé à implémenter la
récherche en deux phases.
Le problème que nous sommes en train de vivre, c'est que jusqu'il y
a peu ici, la portabilité n'était pas vraiment un thème, et quand on
y pensait, c'était entre Sun CC 4.2 et VC++ 6.0,
Jean-Marc Bourguet wrote:
[...]
En somme, si tu es implémenteur, quoique tu fasses, c'est faux.
Avec aCC d'HP dans la boucle, le code a risque a ete identifie
depuis longtemps :-) (pour ceux que ca interesse, il y a un
4ieme compilateur utilise, xlC d'IBM ce qui fait 11 cibles en
considerant 32 et 64 bits comme des cibles differentes).
C'est la portabilité vecue.
La seule vraie. N'empèche que je parie que vous avez eu des
problèmes lorsque les compilateurs ont commencé à implémenter la
récherche en deux phases.
Le problème que nous sommes en train de vivre, c'est que jusqu'il y
a peu ici, la portabilité n'était pas vraiment un thème, et quand on
y pensait, c'était entre Sun CC 4.2 et VC++ 6.0,
"kanze" writes:Jean-Marc Bourguet wrote:
[...]La seule vraie. N'empèche que je parie que vous avez eu des
problèmes lorsque les compilateurs ont commencé à
implémenter la récherche en deux phases.
Je doute qu'on avait beaucoup de template a l'epoque; aCC
implemente depuis longtemps la recherche en deux phases et
nous sommes tres conservateurs. On n'en a d'ailleurs toujours
pas tant que ca qui ne soit pas des infrastructures
informatiques.
La moitie de notre code est toujours en C compile par un
compilateur C, et une bonne partie du reste n'est que du C
compile par un compilateur C++.Le problème que nous sommes en train de vivre, c'est que
jusqu'il y a peu ici, la portabilité n'était pas vraiment un
thème, et quand on y pensait, c'était entre Sun CC 4.2 et
VC++ 6.0,
Je retire ce que j'ai ecrit: nous ne sommes pas conservateurs :-)
Je me souviens qu'on a abandonne Sun CC 4.2 avant 2000 (si
j'ai bonne memoire, la raison qui nous avait ete donnee etait
la fin du support par Sun et le manque de qualification pour
l'an 2000; il y avait de l'opposition parce que la migration
n'etait pas aussi simple que ca et que le moment n'etait pas
particulierement bien choisi: en fin d'un cycle et on trouvait
qu'attendre le debut du cycle suivant etait plus sense).
"kanze" <kanze@gabi-soft.fr> writes:
Jean-Marc Bourguet wrote:
[...]
La seule vraie. N'empèche que je parie que vous avez eu des
problèmes lorsque les compilateurs ont commencé à
implémenter la récherche en deux phases.
Je doute qu'on avait beaucoup de template a l'epoque; aCC
implemente depuis longtemps la recherche en deux phases et
nous sommes tres conservateurs. On n'en a d'ailleurs toujours
pas tant que ca qui ne soit pas des infrastructures
informatiques.
La moitie de notre code est toujours en C compile par un
compilateur C, et une bonne partie du reste n'est que du C
compile par un compilateur C++.
Le problème que nous sommes en train de vivre, c'est que
jusqu'il y a peu ici, la portabilité n'était pas vraiment un
thème, et quand on y pensait, c'était entre Sun CC 4.2 et
VC++ 6.0,
Je retire ce que j'ai ecrit: nous ne sommes pas conservateurs :-)
Je me souviens qu'on a abandonne Sun CC 4.2 avant 2000 (si
j'ai bonne memoire, la raison qui nous avait ete donnee etait
la fin du support par Sun et le manque de qualification pour
l'an 2000; il y avait de l'opposition parce que la migration
n'etait pas aussi simple que ca et que le moment n'etait pas
particulierement bien choisi: en fin d'un cycle et on trouvait
qu'attendre le debut du cycle suivant etait plus sense).
"kanze" writes:Jean-Marc Bourguet wrote:
[...]La seule vraie. N'empèche que je parie que vous avez eu des
problèmes lorsque les compilateurs ont commencé à
implémenter la récherche en deux phases.
Je doute qu'on avait beaucoup de template a l'epoque; aCC
implemente depuis longtemps la recherche en deux phases et
nous sommes tres conservateurs. On n'en a d'ailleurs toujours
pas tant que ca qui ne soit pas des infrastructures
informatiques.
La moitie de notre code est toujours en C compile par un
compilateur C, et une bonne partie du reste n'est que du C
compile par un compilateur C++.Le problème que nous sommes en train de vivre, c'est que
jusqu'il y a peu ici, la portabilité n'était pas vraiment un
thème, et quand on y pensait, c'était entre Sun CC 4.2 et
VC++ 6.0,
Je retire ce que j'ai ecrit: nous ne sommes pas conservateurs :-)
Je me souviens qu'on a abandonne Sun CC 4.2 avant 2000 (si
j'ai bonne memoire, la raison qui nous avait ete donnee etait
la fin du support par Sun et le manque de qualification pour
l'an 2000; il y avait de l'opposition parce que la migration
n'etait pas aussi simple que ca et que le moment n'etait pas
particulierement bien choisi: en fin d'un cycle et on trouvait
qu'attendre le debut du cycle suivant etait plus sense).