Faut encore coder/compiler en 32 bits?

Résolu
BonuxDu13 -  
 BonuxDu13 -
Bonjour,
faudrait que je mette minGW en 64 parait il. Je me pose des questions encore sur la portabilité du code en 64 sur toutes les machines ou du moins le plus grand nombre avant de m'orienter sur ce genre d'option, car en codant en 32 sur windows, le programme est quand meme pris en charge par l'os 64. Je ne sais pas comment ça se passe sous linux, je suppose architecture 32 --> compilation assortie, idem pour le 64. En tout cas il me semble avoir lu que le 32 bit d'un système d'exploitation ne gene pas pour la compilation en 64, du moment que la machine est en 64. Et les machines en 32, en reste il beaucoup, et n'est ce pas amené à disparaitre?



Configuration: Windows / Firefox 79.0
A voir également:

2 réponses

NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
Les machines et OS 32bits sont de plus en plus rare (du moins pour les particuliers, en professionnel, certains peuvent y rester coincer), si tu comptes servir tout le monde y compris ceux qui ont une machine de plus de 15 ans d'age, cela peut te poser pb.
Sinon, si tu comptes une machine relativement récente (<10 ans), tu peux faire du 64 sans pb.

La principale limite est que le 32 bits te limite à 2 Go de RAM max.
1
Utilisateur anonyme
 
2 Gb d’utilisable ? La limite de RAM en 32 Bits c’est ~3-3,5 Go (en comptant la mémoire réservée au matériel)
0
_Ritchi_ Messages postés 21333 Date d'inscription   Statut Contributeur Dernière intervention   6 104 > Utilisateur anonyme
 
2 puissance 32 = 4294967296 donc 4Go !
0
Utilisateur anonyme > _Ritchi_ Messages postés 21333 Date d'inscription   Statut Contributeur Dernière intervention  
 
Puis après y’a la mémoire qui se réserve au matériel ce qui donne à la fin ~3-3,5 Go
0
ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 223 > Utilisateur anonyme
 
Concrètement ça varie. Les machines 32 bit ayant l'extension PAE (Physical Address Extension) peuvent utiliser plus de 4 Go en tout, mais chaque processus reste restreint à un espace virtuel de 4 Go, qui lui même est découpé par l'OS pour plusieurs raisons et selon des critères différents. Sur Windows un exécutable peut adresser 2 Go de RAM maximum, ou 3 si il est
LARGE_ADDRESS_AWARE
. Sur Linux ça va dépendre de la configuration du noyau, mais généralement on est sur une séparation 3G/1G processus/noyau.
On peut remarquer que je dit à la fois "adresser" et "utiliser" mais ça veut pas exactement dire la même chose. Un processus 32 bit peut demander à allouer plus de 4Go au total, c'est juste qu'il faut demander au système de rendre les morceaux qu'on veut adressables (lecture/écriture directe) quand on en a besoin.
0
BonuxDu13
 
Donc l'utilité de passer en compilation 64 serait essentiellement une plus grande capacité de stockage et travail en mémoire. J'ai vu que sous code block je peux installer un compilateur 64 et garder celui que j'ai en 32, pour ensuite choisir lequel s'occupera de mon programme le moment venu. Je n'aurai par contre pas plus les long double que maintenant, vu que le runtime windows msvcrt ne les met pas à disposition.
0
_Ritchi_ Messages postés 21333 Date d'inscription   Statut Contributeur Dernière intervention   6 104
 
Bonjour,
Juste une remarque au passage:
Sur MacOS, la question 32 ou 64 bits ne se pose plus.
En effet Apple a décidé de ne plus supporter tout code en 32bits dans sa dernière mouture de macOS 10.15 Catalina.
Nombreuses sont les personnes qui ont découverts cela après l'installation de Catalina et qui ont vu les pilotes de leur ancien périphérique (imprimante, scanner, etc.) et de nombreuses applications ne plus être acceptées par Catalina.
Cela les a obligé à mettre à jour les versions des pilotes (si par chance le fabricant avait anticipé cette restriction) soit à changer leur périphérique si le fabricant n'a pas voulu se donner la peine de créer la version 64bits.
Ritchi
1
BonuxDu13
 
Merci. Il faut etre au courant de ce genre de chose si on envisage le multiplateforme.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > BonuxDu13
 
peux-tu alors marquer la discussion comme résolue?
0
BonuxDu13 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
ben j'ai rien pour modifier le message initial ou plutot son titre pour y intégrer "resolu"
0