64 bits

Kate -  
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

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

Merci.

2 réponses

  1. Kate
     
    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
    1. Kazama777
       
      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
    2. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      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