64 bits

Fermé
Kate - 14 oct. 2010 à 11:16
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 15 oct. 2010 à 10:01
Bonjour,

en tant que programmeur, comment fait-on un logiciel qui est fait spécifiquement pour un OS 64 bits ?

Merci.
A voir également:

2 réponses

Bonjour,
merci pour la réponse.

Peu m'importe le langage de programmation ou l'IDE, je voudrais avoir une réponse plus globale et théorique. C'est une question de culture générale, je ne compte pas la mettre en pratique.
Est-ce que cela requiert une attention particulière du programmeur (si oui, laquelle, et merci de donner des exemples), ou est-ce que c'est seulement une option du compilateur ?

Merci
1
Bonjour,

Le changement entre la programmation en 32 bits (ou "x 86") et 64 bits ( "x 64") n'est pas conséquent pour le programmeur.

Mais, j'ai demandé quel est le langage de programmation utilisé car cela dépend bien du langage utilisé.
Par exemple, en Assembleur (ASM), il y a pas mal de changement (Nouveaux registres, etc.) https://asm.developpez.com/faq/?page=Generalites .
Mais c'est compréhensible car l'assembleur est spécifique à chaque architecture (ou type d'architecture).

Le C (et son "évolution", le C++) diffère également si le programme doit être uniquement exécuté en x64.
https://www.microsoft.com/en-us/download/details.aspx?id=55984

Voici la "vue d'ensemble des conventions d'appel x 64" :
https://www.microsoft.com/en-us/download/details.aspx?id=55984


Mais dans les langages de haut niveau (JAVA par exemple), le code ne change pas (à ma connaissance, mais peut être que deux ou trois fonctions changent...), c'est la machine virtuelle (JRE) qui s'occupe de tout !


Donc la réponse finale est que cela requière effectivement une attention particulière pour le programmeur, si (et seulement si) le langage utilisé est de bas niveau (=> proche des instructions machines). Le code changera donc sensiblement pour ces programmeurs.

Mais si le programmeur utilise des langages de haut niveau (=> proche d'un langage humain) alors l'architecture X 64 n'a (quasiment) aucune différence pour eux.

Sur ce,
Salutation !
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
15 oct. 2010 à 10:01
plutôt d'accord avec toi, mais ta réponse est spécifique Windows et API MS. En fait, en C/C++ il n'y a pas de souci particulier (hors bibliothèques tierce). Il n'y a pas de raison de faire attention en 64 bits (à condition que le programme soit créé proprement). Mais attention tout de même, il faut rester cohérent, de la même façon qu'on ne peut pas mélanger des fichiers compilés pour différents processeur (Intel et motorola par exemple), il ne faut pas mélanger des fichiers compiler en 32 et 64 bits.
Dans les programmes que je réalise dans un cadre professionnel, je compile avec l'option -m32 pour les processeurs 32 bits et avec l'option -m64 pour les processeurs 64 bits.

Au sujet de Java, JRE, c'est Java Runtime Environnement, et la machine virtuelle c'est JVM (Java Virtual Machine).
0
up
0
Cela dépend un peu du langage de programmation.

Pourriez-vous l'indiquer, svp ?

Voici pour le C++ par exemple (avec l'EDI Visual C++) : https://www.microsoft.com/en-us/download/details.aspx?id=55984

Sur ce,
Salutation !
0