Compilateur C/C++/C++ Managed (.Net) gratos, version optimisee (!)

Ben voila

Presque tout est dans le titre. MS a decide d’offrir gratuitement le compilateur C/C++ version optimisee qui etait jusqu’a maintenant uniquement disponible avec Visual Studio Pro et plus. Ca compile le C, le C++ et ca sait faire du C++ Managed, donc du .Net. Y a tout un toolkit avec des exemples et tout, ca a l’air pas mal fait. Je sais que quelques personnes cherchait un compilo C++ gratos recemment donc ben la, vous etes servi Surtout la version 2003, avec un bien meilleur respects des standards et tout moi je dis: de la balle.

Donc au programme, avec le compilo:

Chui assez surpri qu’il fasse ca, mais d’un cote c’est logique: retour a la strategie de plate-forme a 100%… Allez hop, ca se passe ici.
Ce message a été édité par GloP le 18/04/2004

Sympa merci !
Je venais de finir de télécharger Borland C++ Builder pro fr …
Bon ben je testerai avec les deux !
Notons que j’ai eut des problemes avec VC++ 6 lorsque je compilais par exemple, je me retrouvait avec les images jpg ( illisibles of course, ça genere pas des tofs du vendredi >>[ -] ) des pages HTML etc …
Mauvais souvenir donc; mais il n’y a que les imbeciles qui ne changent pas d’avis

Sympa en effet, mais comparativement, en excluant le support .NET, il fait quoi de mieux que le compilateur de Visual C++ ? Meilleures optimisations ?
Y’a possiblité d’intégrer ce compilateur avec l’IDE de Visual C++ ?

Eheh ils parlent d’optimisations SSE/SSE2, ben je vous le dis : vaut mieux le faire à la main Le générateur de code SSE de .NET 2003 est basé sur le générateur de code FPU, et gère ses registres comme une pile, et donc de manière peu efficace Il a aussi tendance a sous-optimiser certaines choses, et donc du coup ça explique qu’il ne gagne “que” 10% au lieu de gagner beaucoup plus

Enfin bon, c’est déjà ça de pris quand même

[quote]Sympa en effet, mais comparativement, en excluant le support .NET, il fait quoi de mieux que le compilateur de Visual C++ ? Meilleures optimisations ?
Y’a possiblité d’intégrer ce compilateur avec l’IDE de Visual C++ ?[/quote]Ben heu… si t’as le compilo de VS 2003 pro c’est le meme … Sauf que la il est gratuit.

tuo: pfff fait ta star va Le mec on parle compilateur il dit “oui mais sans c’est mieux” Tssss… Oui il vaut “mieux” ecrire du code en assembleur ca va plus vite, c’est un compilateur… il peut pas tout devinner, je suis sur que si t’as des techniques pour gerer tout ca de maniere generique et bien plus optimisee pour tous les cas de figures, je peux te mettre en contact avec des gens de chez C++ qui te trouveront un boulot bien paye . Pour les etres humains, un compilateur c’est quand meme 'achement pratique… ne serais ce que comme base de depart…

Ce message a été édité par GloP le 18/04/2004

En fait je parlais comparativement au compilo de Visual C++ 6.0

[quote]En fait je parlais comparativement au compilo de Visual C++ 6.0 [/quote]Bah les points principaux sont dans les liens du post d’origine, c’est explique…
Pour ce qui est de l’integration directement dans l’IDE je sais pas pour l’instant mais ca m’etonnerais qu’il faille attendre longtemps pour que quelqu’un fasse un plugin pour tous les IDE du monde qui l’integre
Ce message a été édité par GloP le 18/04/2004

Ok effectivement, entre duex posts je suis allé lire un peu les liens et ça répond à mes questions.
Pour l’intégration, reste plus qu’à attendre que quelqu’un le fasse donc

Z’etes sur qu’il fasse un plug-in ? Pasque si mes souvenirs sont bons, dans VC6, on peux définir a la mano la ligne de commande de compilation, et donc par là intégrer le compilo voulu. En même temps, c’est que des spéculations, mais il suffirait simplement de refaire les templates de projet…

NB: Cela mis a part, ce compilo respecte les dernieres normes C++, et gère donc les namespaces, et requiert que vous les respctez aussi. Ne vous étonnez donc pas si vous avez quelques modifs a faire sur vos sources pour que ca compile. Ca va paraitre banal pour certains, mais ca peux dérouter certains habitués de vc++ 6.

Ex :
Ca, ca marche plus :
#include <iostream.h>
int main(int argc, char** argv){
 cout<<“Hello world”;
}

Aujourd’hui, c’est ca qu’il faut écrire (oui, je suis bien d’accord, ils sont chiant a changer la norme tout les 4 matins).
#include 
using namespace std;
int main(int argc, char** argv){
 cout<<“Hello world”;
}

Ce message a été édité par Tzim le 18/04/2004

Vous connaissez un IDE gratuit qui s’intégrerait bien avec ce compilo ?

Euh Tzim, les namespaces dans Visual, c’est depuis TREEEEEEEEEES longtemps 'fin bon :stuck_out_tongue: C’est surtout une mise à jour de la STL plus que du compilo ce que tu soulignes en fait.

Gloppy : voui je sais je suis gonflé de dire des choses qu’elles sont méchantes

  // add the gravity force to all bodies
  for (i=0; i<nb; i++) {

004298B8  cmp edx,esi
004298BA  jge 0042991C
004298BC  lea esp,[esp] 
  body[i]->facc[0] += body[i]->mass.mass * world->gravity[0];
004298C0  mov eax,dword ptr [edi+edx4]
004298C3  movss xmm0,dword ptr [eax+1Ch]
004298C8  mulss xmm0,dword ptr [ebx+10h]
004298CD  addss xmm0,dword ptr [eax+104h]
004298D5  movss    dword ptr [eax+104h],xmm0 
  body[i]->facc[1] += body[i]->mass.mass * world->gravity[1];
004298DD  mov eax,dword ptr [edi+edx4]
004298E0  movss xmm0,dword ptr [eax+1Ch]
004298E5  mulss xmm0,dword ptr [ebx+14h]
004298EA  addss    xmm0,dword ptr [eax+108h]
004298F2  movss dword ptr [eax+108h],xmm0 
  body[i]->facc[2] += body[i]->mass.mass * world->gravity[2];
004298FA  mov eax,dword ptr [edi+edx*4]
004298FD  movss xmm0,dword ptr [eax+1Ch]
00429902  mulss xmm0,dword ptr [ebx+18h]
00429907  addss xmm0,dword ptr [eax+10Ch]

Enfin bon, la quand meme, y’a de l’abus non ? Dans le genre « je sous optimise mon code a donf », je demande le générateur de code SSE. Regarde : il reload « eax » à chaque accès (bordel de zeus, c’est pas sorcier dans le compilo d’optimiser ce genre de choses, ils doivent avoir un indicateur d’utilisation des registres pour savoir où ils en sont non ? et donc se rendre compte que ça sert à rien ?), ensuite la valeur de multiplication n’est pas préchargée (c’est la meme pour TOUTES les itérations).

Et tout ça en fait, c’est dû au fait que le générateur de code SSE n’en est pas un. Il s’agit juste d’un remapping des instructions FPU sur le SSE, et donc il gère ses registres en stack, et donc il les sous exploite Et moi je dis snif snif parce que la y’a manière d’optimiser ce générateur de code facteur 2 sans s’arracher les cheveux (à mon sens). J’ai pris un exemple standard du code de ODE compilé avec VS.NET 2003. Note que je ne lui reproche pas de pas vectorialiser : ça c’est tout a fait normal

Voila.

Concernant le VS.NET 2003 et la norme C++, je remarque que mon thread d’a coté reste désespérément vide (et c’est aussi pour ça que je tape sur VS.NET 2003, qui reste pourtant mon compilo préféré )

na.

Je viens de l’installer et il se met dans “Program files/Microsoft Visual C++ Toolkit”.
Or j’ai trouvé aussi un “Program files/Microsoft Visual Studio .NET 2003/VC7”  qui vient, je crois , du SDK .NET.

Y a une différence ?
parce que les fichiers sont apparement les mêmes, les “samples” en moins…

Tuo: t’as teste le meme code avec l’apha de VS 2005? Je peux le faire si tu veux, voire si ca a change…

mccricri : je penses que ton truc viens de VS 2003, pas du sdk… le sdk il installe rien qui s’appelle VS 2003 a priori
Ce message a été édité par GloP le 19/04/2004

[quote]mccricri : je penses que ton truc viens de VS 2003, pas du sdk… le sdk il installe rien qui s’appelle VS 2003 a priori
[/quote] Ce qui m’inquiète, alors, c’est que j’ai jamais installé VS 2003 …
Mais j’ai déjà constaté ce répertoire plusieurs fois sur différentes machines ou j’ai mis le sdk. Je pensais juste que c’était nécessaire pour faire du c#/vb.net. J’avais pas fait gaffe que c’était pour le c++ (faut dire que j’en fais pas des masses et que je connais pas bien VS)

Bah je me trompe peut etre hein, il y a ptet le toolkit fournit avec le SDK maintenant, d’ou les raccourcis en question

Gloppounet : j’ai pas la beta de VS.NET 2005 Mais si tu veux que je t’envoie le code y’a pas de soucis je te file ça pour que tu teste (comme ça t’auras tous les sources de mon raytracer mais je sais que je peux compter sur toi pour pas crier que c’est tout pas bien codé, c’est pas du code de première qualité ).

Je te fais un pack, et je t’envoie un lien en PM pour downloader ça (y’aura un projet VS.NET 2003 a priori, parce que si je te file le VS.NET 2002 tu auras des mises à jour à faire au niveau du projet sinon ça ne linkera pas, optimisations bourrins pour la taille / vitesse inside)

[quote]Je te fais un pack, et je t’envoie un lien en PM pour downloader ça (y’aura un projet VS.NET 2003 a priori, parce que si je te file le VS.NET 2002 tu auras des mises à jour à faire au niveau du projet sinon ça ne linkera pas, optimisations bourrins pour la taille / vitesse inside)[/quote]Ben il est ou mon PM ?  (DTC Proof)
Ce message a été édité par GloP le 19/04/2004

Voila voila, il est partit, faut me laisser le temps d’arriver chez moi & tout quand même

Je compte bien sur sur toi pour garder ça pour toi, j’aimerai pas voir ça tourner sur la toile Surtout que c’est en travaux méchant…