OVH Cloud OVH Cloud

Quel choix de compilateur c++?

22 réponses
Avatar
Thierry
Bonjour à tous!



Sur base de votre expérience, quel(s) compilateur(s) conseillez-vous aujourd'hui
pour développer en C++ des applications sous windows, tout en espérant une
certaine portabilité sur d'autres plateformes, et sans devoir étudier
pendant 6 mois les caractéristiques du compilateur, qui trop souvent
deviendront obsolètes dans la version suivante ?



Visual c++ 6

Visual studio 2005

c++Builder 6

c++ Builder X

Borland developper studio 2006

Dev-c++

. ?



Je me perds dans cette jungle...



Merci

10 réponses

1 2 3
Avatar
Aurelien Regat-Barrel
les limites de VS Express Edition ?

elles sont aussi clairement exprimés qu'une CLUF Microsoft (c'est de
l'ironie et pourtant).

certaines librairies ne sont pas fournies, dont ATL (le truc pour faire
des COM, ActiveX sans rien comprendre), mais le "vice" est ailleurs, le
project manager gère ses projects via des fichiers XML qui sont
contrôlés par l'IDE; il est alors impossible de "l'améliorer" avec des
librairies non autorisées, ni de gérer des projects différents de ceux
qu'ils autorisent (surement limités aux "form.net"), impossible par
exemple de générer un driver ou une lib. "particulière" avec.


??? Les templates de projets sont en nombre réduits, pour le reste,
c'est tout pareil. On peut changer les propriétés des projets sans
problème, compiler / lier avec d'autres libs C++ comme dans la version pro.
Pour le driver j'ai pas testé, mais pour les libs c'est sans souci
(propriétés du projet->général->type de configuration).

son autre "limitation" est l'IDE lui-même, un peu moins inutilisable que
Visual InterDev, mais quand même très lourd (pour qui attends d'un IDE
qu'il remplace juste le make manuel, s'attend).


Il est limité car il offre beaucoup de fonctionnalités si je comprends
bien :-)

ces avis sont, bien sur, personnel; je n'ai utilisé que la version pro.
que j'ai balancé au bout de 2 jours, elle s'était elle permit de
balancer mon VC98 (suppression sans demande de libs critiques), on était
quitte.


Bizarre.

--
Aurélien Regat-Barrel

Avatar
Aurelien Regat-Barrel

Par curiosité : quelles sont les limites ? Je n'en ai jamais
rencontré, mais il faut dire que je ne m'en sers que pour
vérifier que le code dans mes bibliothèques compile avec ce
compilateur -- c'est loin d'être une utilisation « réele ».


Pour du C++ standard, y'a pas vraiment de limitation. Des modèles de
projets en moins ce qui nécessite de changer les propriétés du projet
après création (on est déjà dans du non standard car c'est pour créer
des dll etc...).
Pas de compilation 64 bits, de support d'OpenMP, de code source de la
CRT, de débogage à distance...
Pour les Windowsiens par contre il y a une limite plus gênante : pas
d'éditeur de ressources :-(

--
Aurélien Regat-Barrel

Avatar
Aurelien Regat-Barrel
Pour ma part, quelque soit le domaine, j'estime que VC++ 6 a fait son temps.

--
Aurélien Regat-Barrel
Avatar
Sylvain
Aurelien Regat-Barrel wrote on 04/04/2006 15:29:

??? Les templates de projets sont en nombre réduits, pour le reste,
c'est tout pareil.


le point est que les projets (BIEN QUE éditables puisqu'en simple texte,
xml) ne peuvent pas être modifiés librement car ils sont limités par les
fonctionnalités effectivement disponibles par l'outil (EE ou pro).

donc pour vous paraphrasez, les possibilités "sont en nombre réduites
[mais] c'est tout pareil".

son autre "limitation" est l'IDE lui-même, un peu moins inutilisable
que Visual InterDev, mais quand même très lourd (pour qui attends d'un
IDE qu'il remplace juste le make manuel, s'attend).


Il est limité car il offre beaucoup de fonctionnalités si je comprends
bien :-)


non, vous ne comprenez pas; être lourd n'est pas synonyme d'une richesse
fonctionelle; c'est ici seulement polluer mon système d'extensions dont
je ne veux pas, me forcer à utiliser un éditeur, des panels et des
wizards qui dégeulent de partout, etc; ce qui - chez moi - se nomme un
"limitation" de commodité d'usage.

ces avis sont, bien sur, personnel; je n'ai utilisé que la version
pro. que j'ai balancé au bout de 2 jours, elle s'était elle permit de
balancer mon VC98 (suppression sans demande de libs critiques), on
était quitte.


Bizarre.


la perte de compatibilité ascendante (vis à vis du système, des outils
tiers, ...) ? mais non, ni byzarre, ni anecdotique, seulement un début.

Sylvain.


Avatar
Sylvain
Eric Pruneau wrote on 04/04/2006 15:04:

Voici un autre choix.
http://www.intel.com/cd/software/products/asmo-na/eng/compilers/219771.htm

ceici est une version gratuite non comerciale sous linux mais la version
window existe aussi.Lle compilateur d'intel est le plus performant que je
connaisse.


je partage votre sentiment d'appréciation de ces compilo, mais (hélas)
il n'est pas tout libre en version windows.

Sylvain.

Avatar
Sylvain
Aurelien Regat-Barrel wrote on 04/04/2006 15:33:

Pour du C++ standard, y'a pas vraiment de limitation. [...]
Pour les Windowsiens par contre il y a une limite plus gênante :
pas d'éditeur de ressources :-(


pouf, pouf, éditeur de quoi ??? nous parlons WinFX monsieur; ces
vieilleries de ressources ont été sacrifiées fin 2003, début 2004, je
vous rapelle.

relire http://www.joelonsoftware.com/articles/APIWar.html pour une
introduction du drame/problème/enjeu/... (le blog de Raymond Chen est
aussi instructif).

Sylvain.

Avatar
Arnaud Meurgues
Sylvain wrote:

ces avis sont, bien sur, personnel; je n'ai utilisé que la version
pro. que j'ai balancé au bout de 2 jours, elle s'était elle permit de
balancer mon VC98 (suppression sans demande de libs critiques), on
était quitte.
Bizarre.

la perte de compatibilité ascendante (vis à vis du système, des outils

tiers, ...) ? mais non, ni byzarre, ni anecdotique, seulement un début.


Je pense qu'il voulait dire que c'est bizarre parce qu'il n'a pas
rencontré ce problème.

En tout cas, moi, j'ai VS6, VS.Net et VS.Net 2003 installés sur ma
machine et qui cohabitent sans problème.

--
Arnaud



Avatar
Aurelien Regat-Barrel

??? Les templates de projets sont en nombre réduits, pour le reste,
c'est tout pareil.



le point est que les projets (BIEN QUE éditables puisqu'en simple texte,
xml) ne peuvent pas être modifiés librement car ils sont limités par les
fonctionnalités effectivement disponibles par l'outil (EE ou pro).


Je ne comprends pas le sens de "améliorer le xml avec des librairies non
autorisées" (lesquelles ?) et "de gérer des projects différents de ceux
qu'ils autorisent" (exemple ?). De même, j'ai du mal à comprendre le
sens de la libre modification des xml.
Pour infos ces xml sont une sorte de nouveau makefile de MS, compilables
en ligne de commande (msbuild) sans que l'IDE soit installé, ce qui fait
de ce dernier une sorte de front end graphique de msbuild (qui est
utilisé en interne).

non, vous ne comprenez pas; être lourd n'est pas synonyme d'une richesse
fonctionelle; c'est ici seulement polluer mon système d'extensions dont
je ne veux pas, me forcer à utiliser un éditeur, des panels et des
wizards qui dégeulent de partout, etc; ce qui - chez moi - se nomme un
"limitation" de commodité d'usage.


Ben c'est un IDE, un environnement de développement intégré. Je ne crois
pas que ta remarque soit spécifique à VC++. J'envisage mal un IDE sans
éditeur par exemple. Pour les wizards et les panels, ça me semble être
du classique.

Bizarre.



la perte de compatibilité ascendante (vis à vis du système, des outils
tiers, ...) ? mais non, ni byzarre, ni anecdotique, seulement un début.


Bizarre dans le sens où c'est la première fois que j'entends parler de
ce problème.
En ce qui concerne la compatibilité ascendante, VC++ n'est pas trop
mauvais quand même. Un projet VC++ 6 est assez facilement récupérable
avec VC++ 2005. La plupart des problèmes viennent de la mise en
conformité du compilateur (<iostream>, typename, for scope, ...). Et si
tu prends une lib compilée en 98 avec VC++ 6 (et même avant je pense),
tu peux toujours linker avec avec VC++ 2005. Pourtant y'a 8 ans et 3
versions d'écart. g++, par exemple, a changé d'ABI entre temps.

--
Aurélien Regat-Barrel


Avatar
Aurelien Regat-Barrel
Pour les Windowsiens par contre il y a une limite plus gênante :
pas d'éditeur de ressources :-(



pouf, pouf, éditeur de quoi ??? nous parlons WinFX monsieur; ces
vieilleries de ressources ont été sacrifiées fin 2003, début 2004, je
vous rapelle.


WinFX est encore en beta :p
Et y'a pas d'éditeur xaml de dispo dans VS. Et même quand y'aura WinFX,
je ne suis pas sûr que l'on puisse modifier l'icône de son exécutable
sans passer par les ressources. Autrement dit : les ressources ont
encore un long avenir (si c'est pas une preuve ça :-).

relire http://www.joelonsoftware.com/articles/APIWar.html pour une
introduction du drame/problème/enjeu/... (le blog de Raymond Chen est
aussi instructif).


--
Aurélien Regat-Barrel


Avatar
Sylvain
Arnaud Meurgues wrote on 05/04/2006 09:14:
Sylvain wrote:

ces avis sont, bien sur, personnel; je n'ai utilisé que la version
pro. que j'ai balancé au bout de 2 jours, elle s'était elle permit de
balancer mon VC98 (suppression sans demande de libs critiques), on
était quitte.
Bizarre.

la perte de compatibilité ascendante (vis à vis du système, des outils

tiers, ...) ? mais non, ni byzarre, ni anecdotique, seulement un début.


Je pense qu'il voulait dire que c'est bizarre parce qu'il n'a pas
rencontré ce problème.


j'ai bien compris cela, c'est pour cela que j'ai indiqué compatibilité
vis à vis du système (au sens large).

ces suppressions sont peut être variables selon le système hôte, dans
mon cas je ne pouvais plus lancer le dbg de VC98 (je n'ai pas regardé de
près s'il avait viré les versions debug du CRT ou des libs systèmes ou
encore des libs du debugger lui-même; j'ai juste fait le ménage et
réinstallé).

En tout cas, moi, j'ai VS6, VS.Net et VS.Net 2003 installés sur ma
machine et qui cohabitent sans problème.


VS .net 2003 n'avait pas fait cette "farce", il avait juste imposé ses
.net fwk 1 et 2.

Sylvain.




1 2 3