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 :
3. 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 www.mingw.org 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.
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 :
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 🙂
Fabrice
Merci pour ce tuto facile à suivre il m’a bien aider j’aime bien utiliser code bloks
Je met le lien pour télécharger mingw-w64-bin-x86_64 si ça peut servir en tout cas nikel tip top 🙂
https://sourceforge.net/projects/mingw-w64-dgn/files/mingw-w64/mingw-w64-bin-x86_64-20160428.7z/download?use_mirror=excellmedia&download=&failedmirror=jaist.dl.sourceforge.net
• Lien vers le commentaire
Alex Soyer
Merci beaucoup pour ce partage, Fabrice 🙂
• Lien vers le commentaire