Développer en x64 avec Code::Blocks

book
date_range
comment0 commentaire
remove_red_eye10537 vues


Logo CodeBlocks IDE
 

Bonjour,

Vous connaissez sans doute le logiciel gratuit pour programmer sous Windows CodeBlocks. Celui -même qui ne propose pas en "natif" de rendre son éxecutable compatible pour les modes 64 bits de Windows.

Aujourd'hui on verra comment faire pour pouvoir éxecuter un programme en x64 dans Code::Blocks !

1. C'est quoi le 64 bits ?

64 bits ou x64 correspond à la "longueur du registre". En effet, chaque programme n'est q'une suite de 0 et de 1 mis bout à bout de façon à créer une fenêtre ou une fonction bien précise du programme. 

Lorsque vous allez acheter un nouvel ordinateur, vous pouvez remarquer que désormais la plupart sont sous un processeur x64. Cela veut dire qu'il est capable d'exécuter un programme compiler en x64 mais aussi en x86 (32bits). 

Au contraire, un processeur x86 ne pourrait pas exécuter un programme x64.  

2. Pourquoi Code::Blocks ne prend pas en charge le 64 bits ?

C'est simple, dites vous qu'un processeur x86 peut lire seulement 32 cases ; or un programme x64 en dispose de 64. On voit bien qu'il y aura un problème puisque le processeur ne pourra pas lire toute les cases du prgramme 64 bits mais seulement d'un progamme 32 bits.  

Mais, un processeur 64 bits peut lui, lire 64 cases, donc également 32. Donc oui, il peut donc lire le jeu d'instructions venant d'un programme x64 ou bien x86. 

En image : 

Explications processeur 32 et 64 bits3. Quels avantages ?

Pour nous, développeurs en C/C++, cela ne change en rien notre code, sauf pour ceux qui programme en assembleur. C'est donc le compilateur qu'il faudra modifer.
Ainsi, notre système d'exploitation pourra éxecuter plus rapidement notre prgramme. Gérer une plus grande partie de mémoire, etc.
 

4. Et Code::Blocks ?

Vous l'avez peut être remarqué, on ne peut pas changer de mode de compilation nativement dans Code::Blocks. Il va falloir faire quelques manipulations très simples ! 

Tout d'abord, sachez que tout sera fait dans un sous dossier, donc si quelque chose ne va pas, vous pourrez tout restaurer. 

Code:Blocks utilise MINGW pour compilez les programmes, mais malheuresement il n'existe qu'en version x86 dans l'IDE. Heureusement pour nous il existe une version 64X de MINGW.  

5. Passer MINGW en 64 bits

1. Décompression

Installer un logiciel de compression / décompression comme 7-zip. 

2. Compilateur

Allez sur ce site : http://www.drangon.org/mingw pour télécharger la version de MINGW 64X. Vous devez télécharger la dernière version . Pour moi c'est "mingw-w64-bin-x86_64-20140529.7z".
 

3. Installation

Ouvrir l'explorateur Windows et rendez-vous au dossier d'installation de Code::Blocks soit chez moi : C:\Program Files (x86)\CodeBlocks.

Extraire l'archive et copier le dossier mingw64 dans le dossier d'installation. 

Votre sous-dossier mingw64 devrait ressembler à cela.  


CodeBlocks Mingw64 compilation 

4. Configuration

Lancer Code::Blocks. Allez dans l'onglet "Settings" puis "Compiler". Sélectionnez votre compilateur puis cliquer sur Copy. Nommez le comme vous le voulez, puis cliquer sur ok.

Allez ensuite dans l'onglet "Toolchain Executables" et mettez ces nouvelles valeurs :  

  • Compiler's installation directory
    Le dossier de Mingw64 soit chez moi : C:\Program Files (x86)\CodeBlocks\mingw64
  • C compile
    gcc.exe
  • C++ compiler
    g++.exe
  • Linker for dynamic libs
    g++.exe
  • Linker for static libs
    ar.exe
  • Debugger
    /
  • Resource compiler
    windres.exe
  • Make program
    make.exe

En image :

Options du compilateur Code::Blocks 

NB : Notez que vous devez allez chercher manuellement chaque programme. Ne vous trompez pas de dossier !

1.6 Crée un nouveau projet

Créez un nouveau projet et sélectionnez le bon compilateur. Lancez la compilation et tada ! Votre programme s'éxecute en mode 64bits ! 

Vous pouvez vérifier cela en lançant le gestionnaire des tâches et en allant dans l'onglet processus. Trouvez le nom de votre processus, si un *32 apparait, c'est que malheuresement votre programme tourne encore en 32 bits, sinon c'est qu'il est en x64.

Vous aurez peut être remarqué que mes menus dans Code::Blocks sont en Français et non en Anglais. je vous expliquerais comment faire dans un prochain tutoriel :)

Articles similaires

Commentaires

Aucun commentaire

Ajouter un commentaire

Vous ne disposez pas les autorisations nécessaires pour poster un commentaire.