15 juillet 2014

MASM pour Boost et MinGW

Certaines librairies de Boost contiennent du code écrit en assembleur. Contrairement à C++ qui utilise la même syntaxe quel que soit le système (Linux, Mac, Sun, Windows) l’assembleur n’est pas standardisé. Bien que le processeur soit le même, le même le code ne s’écrit pas de la même façon sous Linux ou Windows parce que l’assembleur par défaut de ces plateformes n’est pas le même.

L'assembleur inclus avec gcc est 'as'. Il est présent sous Windows et Linux mais les mainteneurs de Boost refusent d’avoir deux versions du même code pour la même plateforme. Hors de question pour eux d’avoir une version pour 'MASM' de Microsoft et une autre version pour 'as' de GNU. Pour Windows la seule version disponible est celle pour MASM.

Donc, si vous voulez utiliser la suite gcc de MinGW pour compiler les librairies de Boost il vous faudra malgré tout MASM de Microsoft et, en théorie, une version anglaise de Visual Studio C++ Express Edition. En effet à l’installation de MASM requiert MSVS C++ Express.


En soit rien de grave car les deux produits sont librement et gratuitement téléchargeables chez Microsoft.
Cependant on peut vouloir éviter d’installer toute une suite C++ pour juste pouvoir assembler quelques lignes d’assembleur.  

Voici donc comment installer MASM sans MSVC Express.

Pour cette manipulation on utilisera 7zip : http://www.7-zip.org/
  1. Télécharger MASMsetup.EXE chez Microsoft
    http://www.microsoft.com/en-us/download/details.aspx?id=12654.


  2. Bouton droit sur le fichier qui vient d’être téléchargé,
    dans le sous menu 7-Zip sélectionner « open archive ».

    Ceci ouvrira 7-Zip et vous montrera le contenu du fichier MASMsetup.EXE c’est-à-dire le fichier setup.exe.




  3. Bouton droit sur ‘setup.exe’ puis choisir l’option « Open Inside ».
    Le nom des deux fichier inclus dans setup.exe vont s'afficher.


  4. Bouton droit sur  « vc_masm1.cab » puis à nouveau choisir « Open Inside ».




  5. Un nom de fichier ‘compliqué’ va apparaitre.


     
  6. Faire glisser ce fichier sur le bureau et le renommer « ml.exe »
     
  7. Déplacer ml.exe dans un répertoire présent dans le PATH ou créez en un pour l’occasion.
     
  8. Pour vérifier que tout est ok, ouvrir une ligne de commande (cmd) et taper « ml ». Vous devez obtenir la version du Macro Assembler .



Et voila !