\o/ enfin une nouvelle version (expérimentale, toutefois) du meilleur compilateur pour windows: mingw, qui était scotché à la 3.4 depuis un peu trop longtemps.
ça fait plaisir.
http://article.gmane.org/gmane.comp.gnu.mingw.user/23358
Journal mingw passe à gcc 4.2.1 (enfin presque)
10
août
2007

# Le meilleur ?
Posté par supergab . Évalué à 5.
C'est étrange, quand je pense à un compilateur pour Windows, c'est plutôt ceux de Microsoft, Borland ou Intel qui me viennent à l'esprit. Comment MinGW, issu d'un compilateur pour une autre plate-forme, peut-il être le meilleur?
C'est le plus polyvalent, mais pas nécessairement le meilleur pour compiler du code C++ optimisé pour Windows. Aussi, il a l'avantage d'être libre, bien que je doute qu'il y est beaucoup d'utilisateurs qui vont modifier le code source.
S.V.P., soyez gentil, je suis un pauvre utilisateur de Windows.
[^] # Re: Le meilleur ?
Posté par harbort1 . Évalué à 10.
Comme quoi l'équipe de GCC a fait des prouesses avec la version 4.2 !!! Reste plus qu'à optimiser le compilo lui-même (l'objectif de la version 5 si je me souviens bien).
[^] # Re: Le meilleur ?
Posté par Émilien Tlapale . Évalué à 3.
C'est vrai que gcc 4.2 est super sympa, mais bon mon crossdev me permettait déjà de générer du mingw32 (en cross compilant bien sûr) avec ce compilo.
[^] # Re: Le meilleur ?
Posté par supergab . Évalué à 3.
Quelles sont les différences au niveau des librairies? C'est plutôt là que je voyais un avantage pour les librairies écrites par Microsoft qui connaît sûrement mieux les détails de l'API Win32. Je suppose que chaque compilateur a sa propre librairie STL par exemple.
Aussi, est-ce complexe de porter une application qui utilisent des librairies dites standards vers MinGW?
[^] # Re: Le meilleur ?
Posté par pasBill pasGates . Évalué à 10.
Pour ce qui est de l'API, il vient du platform SDK, qui n'est pas specifique a VC++ et est utilisable par d'autres compilos, bref c'est meme topo pour tous les compilos.
Pour ce qui est de STL, effectivement chaque compilo a tendance a avoir sa version, mais STL ca n'a de nouveau rien a voir avec l'OS, il s'agit simplement de structures de donnees en memoire, quel que soit l'OS c'est quasiment la meme chose(a 2-3 details pres niveau optimisations).
[^] # Re: Le meilleur ?
Posté par ecyrbe . Évalué à 6.
De même, l'allocation mémoire via l'opérateur "new", ce qui n'est pas rien, est dépendante du système d'exploitation.
Ces deux éléments là, à eux tous seuls, peuvent changer pas mal de choses d'un OS à un autre...
[^] # Re: Le meilleur ?
Posté par IsNotGood . Évalué à 5.
Non. Tout ce qui est nécessaire, c'est de dépiler la pile des appels de fonction. Il n'y a pas d'appel système.
> Histoire de pouvoir catcher certains signaux par exemple.
Toujours pas. C'est une fonction qui va "catcher" les signaux, puis c'est (ou non) renvoyé à une exception C++. Ce renvoi est fait en C++ et n'utilise aucun appel système.
NB : les exceptions en C++ ne sont pas des "signaux" unix. C'est un mécanisme équivalent à longjump du C (j'ai oublié le nom exacte de la fonction). C'est équivalent mais en beaucoup beaucoup plus "luxueux" et sûr.
> De même, l'allocation mémoire via l'opérateur "new", ce qui n'est pas rien, est dépendante du système d'exploitation.
Oui car toute allocation mémoire dépend de l'OS (sauf système très particulier).
Mais il est possible d'allouer un gros bloque de mémoire (via un appel système) puis d'utiliser new sans jamais faire d'appel système.
[^] # Re: Le meilleur ?
Posté par Anonyme . Évalué à 10.
donc bon, c'est pour cela que gcc est vraiment la brique de base de la liberté meme si tu ne modifie pas les sources
# ...
Posté par Anonyme . Évalué à 10.
Bravo aux programmeurs !
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.