Partage
  • Partager sur Facebook
  • Partager sur Twitter

Dev C++ compilateur 32 bits?

    9 janvier 2006 à 22:26:03

    Bonjour les Zeros!
    Apres quelques experiences en utilisant le type de variable "int" et le modificateur "long", j'en suis arrive a la conclusion que Dev C++ est un compilateur 32 bits, c'est a dire qu'il considere tout les "int" comme des "long int", et qi'il faut donc ajouter le modificateur "short" si on veut avoir la meme plage de donnees qu'avec un "int" normal (pas "long"). J'ai vu que certains compilateurs sont dans ce cas, et je voulais demander a ceux qui savent si j'en suis arrive a la bonne conclusion, que Dev C++ est bien un compilateur 32 bits...
    Merci d'avance pour vos reponses!
    PS j'espere que j'ai mis ce post dans la bonne rubrique, c'est celle qui me semblait la plus appropriee...
    • Partager sur Facebook
    • Partager sur Twitter
      9 janvier 2006 à 22:38:53

      Disons que la notion de "compilateur 32 bits" est vague mais oui c'est un compilateur 32 bits parce qu'il utilise le mode 32 bits d'adressage principalement (adresses de 32 bits) selon ma définition du truc.
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        9 janvier 2006 à 22:42:22

        Compilateur 32bit == compilateur produisant des binaires pour proc 32bit, non?
        Comme compilo 64bit == compilo produisant des binaires pour proc 64bit!

        vais voir ce que wiki dit à ce sujet et j'édit...
        [edit] Wiki aime pas ce sujet. Tiens, d'ailleurs gcc était même pas dans la catégorie "compilateur"...
        • Partager sur Facebook
        • Partager sur Twitter
          9 janvier 2006 à 22:49:24

          Ben d'apres la definition que j'en ai, un compilateur 32 bits stocke les variables "int" sur 32 bits (soit 4 octets) tandis qu'un compilateur 16 bits stocke les varialbes "int" sur 16 bits (donc 2 octets), d'où le fait de rajouter "long" dans les compilateurs 16 bits pour agrandir la plage de donnees a 32 bits, tandisqu "long" est totalement inutile pour les compilateurs 32 bits car il est comme "pre-integre". Cette definitionj vient d'un bouquin sur le C++...
          • Partager sur Facebook
          • Partager sur Twitter
            9 janvier 2006 à 22:53:05

            Tous dépend je pense du compilateur utilisé.

            A mon avis, suffit de regardé sur la doc de Linux(les man), si sur la doc de Linux, ils disent qu'ils faut utiliser des long si ont veus utiliser des plage de donnée plus grande que les int(je parle de int normaux), c'est uqe le compilateur GCC est en 16bits, donc, dev-c++ n'est pas en 32bits, car il utilise(en tous cas par défaut), le compilateur GCC et MAKE puisqu'il utilise un makefile.
            • Partager sur Facebook
            • Partager sur Twitter
            Mon site internet : http://www.chrissoftware.fr.nf
              9 janvier 2006 à 22:57:00

              Citation : M@kss

              Ben d'apres la definition que j'en ai, un compilateur 32 bits stocke les variables "int" sur 32 bits (soit 4 octets) tandis qu'un compilateur 16 bits stocke les varialbes "int" sur 16 bits (donc 2 octets), d'où le fait de rajouter "long" dans les compilateurs 16 bits pour agrandir la plage de donnees a 32 bits, tandisqu "long" est totalement inutile pour les compilateurs 32 bits car il est comme "pre-integre". Cette definitionj vient d'un bouquin sur le C++...


              Le problème de ce truc est que ça part d'une notion fausse : Il ne faut _pas_ considérer qu'un long vaut 32 bits et qu'un short vaut 16 bits, le C n'impose aucunes restrictions de cette sorte. Sur Linux/IA64, les long valent 64 bits d'après mon souvenir... mais les int valent toujours 32 bits (allez pas me demander pourquoi...)

              En tout cas : Penser qu'un short est 16 bits et qu'un long est 32 bits est archi-mega-faux.
              • Partager sur Facebook
              • Partager sur Twitter
                10 janvier 2006 à 1:01:48

                d'accord, donc si je recapitule, le fait que les long valent 32 bits et les short en valent 16 depend en fait du compilateur, donc on peut dire que Dev C++ admet des int de 32 bits, des short int de 16 bits, et des long int de 32 bits (donc inutiles puisque un int vaut deja 32 bits), moi ce qui m'etonnais, c'etait que le long int vale la meme chose que le int, mais bon, le long doit servir a ce moment la pour les autres types de variable.
                • Partager sur Facebook
                • Partager sur Twitter
                  10 janvier 2006 à 7:10:59

                  Voilà, mais en fait on pourrait même avoir un signed char de la même taille qu'un short int, qu'un int et qu'un long int. C'est pour couvrir même les plateformes qui n'ont pas autant de types d'entiers.
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Dev C++ compilateur 32 bits?

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown