IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez C++ Discussion :

64 bits et C++


Sujet :

Contribuez C++

Vue hybride

mathieu_t 64 bits et C++ 29/04/2005, 19h43
Laurent Gomila Oui il y a des choses qui... 30/04/2005, 14h58
Invité Sur un compilateur c++ 64... 30/04/2005, 17h57
Invité Cela m'ettonne que le long... 07/02/2007, 23h22
loufoque C'est totalement faux. Le... 09/02/2007, 18h30
Luc Hermitte Et sur solaris, j'ai des long... 12/02/2007, 09h30
Invité alors essaie de porter un... 13/02/2007, 11h10
Jean-Marc.Bourguet Une implémentation conforme a... 13/02/2007, 21h17
Joker-eph Hum, ça veut dire qu'on ne... 01/05/2005, 19h18
Laurent Gomila 8 bytes = 64 bits. 01/05/2005, 19h29
mathieu_t Merci pour ces... 01/05/2005, 19h37
JolyLoic Ca dépend de quel 64 bits. Il... 12/05/2005, 01h20
Invité Voir la petite remarque que... 12/05/2005, 04h51
tut et concrètement, le fait de... 12/05/2005, 09h36
HRS toutes vos questions n'ont de... 12/05/2005, 09h58
Aurelien.Regat-Barrel D'après ce que j'ai entendu,... 12/05/2005, 10h00
JolyLoic Au boulot on l'utilise pour... 12/05/2005, 10h24
Higestromm Il n'existe pas de... 12/05/2005, 11h24
Laurent Gomila Un jour pour m'amuser,... 12/05/2005, 11h52
Emmanuel Deloget Avec des type list et tout et... 13/08/2008, 13h31
Alp Comment te dire que je ne... 13/08/2008, 13h44
hegros Par rapport au 64bits il... 13/08/2008, 15h20
nicroman Tiens... à force de toujours... 14/08/2008, 02h51
Higestromm Bah l'utilité est dans le... 12/05/2005, 12h15
Laurent Gomila Je parlais de l'utilité du... 12/05/2005, 12h21
SuperCed Le 64 bits sert dans 2 cas :... 24/05/2005, 15h53
Gandalf Je ne parle que de ce que... 14/06/2005, 19h07
mic006 stdint.h definit des types... 19/08/2005, 19h12
BainE et y a pas un rapport avec le... 11/01/2006, 13h24
Jean-Marc.Bourguet Le format des instructions... 11/01/2006, 14h19
Zitux les perfs vont augmenter vu... 14/01/2006, 00h23
Jean-Marc.Bourguet La largeur du bus par lequel... 14/01/2006, 08h21
Zitux oui c'est vrai que dans le... 14/01/2006, 12h01
Jean-Marc.Bourguet L'augmentation de l'espace... 14/01/2006, 12h09
Gandalf Certain programmes faisant... 19/01/2006, 16h18
Manu35 Je me trompe peut être, mais... 31/01/2006, 14h11
Matthieu Brucher Je crois bien que les... 01/02/2006, 16h47
Mast3rMind En effet, les cryptographes... 02/02/2006, 15h34
Rafy Il y a une constante qui est... 02/02/2006, 21h41
Gandalf Il existe d'autres mondes que... 03/02/2006, 11h32
Manu35 Noooon 8) exemples ?... 03/02/2006, 11h46
Jean-Marc.Bourguet Je ne saurais mettre de... 03/02/2006, 14h38
Sivrît Pour faire du mauvais esprit... 20/02/2006, 15h05
outs D'un autre coté on en avait... 06/04/2006, 00h52
Jean-Marc.Bourguet L'utilisation du 64 bits... 06/04/2006, 09h35
outs Oui on pouvait rajouter plus... 06/04/2006, 12h38
Jean-Marc.Bourguet D'accord, mais je repondais a... 06/04/2006, 13h54
outs C'est vrai je parlais surtout... 06/04/2006, 15h22
Jean-Marc.Bourguet Le 64 bits ne permet pas... 06/04/2006, 16h52
deeal pourquoi ca eleverait la... 06/06/2006, 00h04
Jean-Marc.Bourguet Dans un programme compile en... 06/06/2006, 10h12
deeal mais en general la taille des... 06/06/2006, 17h04
Matthieu Brucher Attention, même si le bus est... 06/06/2006, 17h43
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Par défaut 64 bits et C++
    Bonsoir...

    Question peut-être idiote, mais la technologie 64 bits change-t-elle qqch à la programmation ?
    Par exemple, un float sera toujours codé en 32 bits ?
    Et si ça n'est pas le cas, y a-t-il des choses qui changent ? (mis à part la vitesse)


    [Sujet placé en post-it - vous êtes invités à l'agrémenter de toute remarque / expérience / conseil pertinent sur le développement 64 bits ]

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Oui il y a des choses qui changent, notamment la taille des types primitifs. Un int, par exemple, sera certainement codé sur 64 bits sur une telle architecture.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Sur un compilateur c++ 64 bit, int continuera d'etre 32 bit, long sera 64 bit, et long long sera lui ausis 64 bit. char, short, float, double et long double ne changeront pas.

    Autre modification importantes: un pointeur sera sur 8 bytes. Ceux qui avaient encore la mauvais habitude de caster un pointeur en int pour en extraire l'adresse auront quelques problemes.

    Voici une liste non-exaustive de choses a faire attention:

    La conversion de long vers un double n'est pas safe, puisque long (64 bit) depasse la capacite d'un double. Utiliser un long double a la place.

    Porter une attention particuliere a l'inline assembly

    Utiliser les identificateur pour les limites des types plutot que la valeur numerique correspondante (CHAR_BIT, CHAR_MAX, INT_MIN, ...) (voir include <climits>)

    Privilieger l'utilisation de typedef dans votre code plutot que les type predefinit.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    typedef int           s32
    typedef unsigned int  u32
    typedef char          s8
    typedef unsigned char u8
    //...
    De cette facon, si un type change de grosseur d'un environnement a l'autre, les seuls changements que vous aurez a faire sera de modifier les typedef (a condition de n'utiliser que des s32, u32, etc dans votre code)


    Petite remarque, le standard c++ dicte cette regle sur la longueur des types: char <= short <= int <= long. Ce qui implique que cela risque de pouvoir varier d'un compilateur a l'autre. Sur 32 bit, la regle etait suivie (8, 16, 32, 32). Sur 64 bit aussi, mais peut etre certains compilateurs implanteront int = long = 64) Encore une fois, utilisez climits[/code]

    Bon, je dis ca de souvenir, il y a surement d'autre details importants

  4. #4
    doccpu
    Invité(e)
    Par défaut
    Citation Envoyé par voider
    Petite remarque, le standard c++ dicte cette regle sur la longueur des types: char <= short <= int <= long. Ce qui implique que cela risque de pouvoir varier d'un compilateur a l'autre. Sur 32 bit, la regle etait suivie (8, 16, 32, 32). Sur 64 bit aussi, mais peut etre certains compilateurs implanteront int = long = 64) Encore une fois, utilisez climits[/code]

    Bon, je dis ca de souvenir, il y a surement d'autre details importants
    Cela m'ettonne que le long soit éttendu alors que depuis le debut de l'informatique c'est l'int qui a servit de pointeur (int = taille du bus d'adresse). Le long a toujours quant a lui été calculé sur 32 bits (sur les machines 16 bits aussi) et le long long sur 64 (sur les machines 32 bits aussi)

    Quant a la regle (char <= short <= int <= long) elle n'est pas tout a fait exacte car en fait c'est :
    [unsigned] char = 8 bits, [unsigned] short = 2 char, [unsigned] long = 2 short, [unsigned] long long = 2 long, int = taille du bus d'adresses,
    pour les entiers et :
    [unsigned] single = 32 bits, [unsigned] double = 2 single, float = taille du bus d'adresses.
    pour les flottants.

    Jusque à present l'apparence conservait : char < short <= int <= long < long long, mais je ne pense pas que cela reste ainsi. Enfin comme vous l'avez dit ce ne sont que des valeurs arbitraires, basées sur les types physiques du processeur, mais ce ne sont que des conventions.

    Vous pouvez retrouver les types processeurs sur :
    www.sandpile.org

    A++ et bon Trolls (de Troy, biensur )

  5. #5
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Quant a la regle (char <= short <= int <= long) elle n'est pas tout a fait exacte car en fait c'est :
    [unsigned] char = 8 bits, [unsigned] short = 2 char, [unsigned] long = 2 short, [unsigned] long long = 2 long, int = taille du bus d'adresses,
    pour les entiers et :
    [unsigned] single = 32 bits, [unsigned] double = 2 single, float = taille du bus d'adresses.
    pour les flottants.
    C'est totalement faux.
    Le standard ne dit rien de tel.

    Il dit d'abord que sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long).
    Ensuite une lecture plus fine permet de voir qu'un char fait au moins 8 bits, un short au moins 16 bits, un int au moins 16 bits, et un long au moins 32 bits.

    Et c'est tout.
    On peut très bien avoir sizeof(char) = sizeof(short) = sizeof(int) = sizeof(long) avec des bytes de 32 bits. C'est d'ailleurs le cas sur les DSP.

  6. #6
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 292
    Par défaut
    Et sur solaris, j'ai des long de 64bits, tout comme les long long.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  7. #7
    doccpu
    Invité(e)
    Par défaut
    Citation Envoyé par loufoque
    C'est totalement faux.
    Le standard ne dit rien de tel......
    alors essaie de porter un programme qui a été developpé avec de grande valeur long et int en 32 voir 64 bit et porte les sur un système embarqué 16bit bit et pleure sur l'int car c'est lui qui fera 16bit alor que le long lui restera a 32 bit. tu peux essayer de le passer sur un système 8 bit mais je garanti pas que le long existe sur de tels systèmes mais la encore l'int fait 8bit (CQFD : int = largeur du bus d'adresses)

    quant a la taille du char elle fait 8 bit parce que les registres du processeur ne savent pas gerer des donnees < 8bit. C'est ce qui determine aussi les alignements de donnees en memoire centrales.

  8. #8
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Citation Envoyé par doccpu
    alors essaie de porter un programme qui a été developpé avec de grande valeur long et int en 32 voir 64 bit et porte les sur un système embarqué 16bit bit et pleure sur l'int car c'est lui qui fera 16bit alor que le long lui restera a 32 bit. tu peux essayer de le passer sur un système 8 bit mais je garanti pas que le long existe sur de tels systèmes mais la encore l'int fait 8bit (CQFD : int = largeur du bus d'adresses)
    Si tu relis bien ce que loufoque a écrit, tu ne le contredis pas, en revanche, lui oui.

  9. #9
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par doccpu
    tu peux essayer de le passer sur un système 8 bit mais je garanti pas que le long existe sur de tels systèmes mais la encore l'int fait 8bit
    Une implémentation conforme a un int qui fait au moins 16 bits.

    (CQFD : int = largeur du bus d'adresses)
    Je ne vois aucune raison de fixer la taille d'un int en fonction de celle du bus d'adresse. (Au fait, les processeurs 8 bits ont généralement un bus d'adresse sur 16 bits)

    quant a la taille du char elle fait 8 bit parce que les registres du processeur ne savent pas gerer des donnees < 8bit.
    Un char fait au moins 8 bits. J'ai déjà utilisé une implémentation du C avec un char de 9 bits, des short de 18 bits et des int (et des long) de 36.

    C'est ce qui determine aussi les alignements de donnees en memoire centrales.
    Les contraintes d'alignement sont généralement le plus petit entre la taille de la donnée à transférer et la taille du bus de donnée.

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 329
    Par défaut
    Citation Envoyé par voider
    Autre modification importantes: un pointeur sera sur 8 bytes.
    Hum, ça veut dire qu'on ne peut adresser que 256 mots en mémoires ?

  11. #11
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    8 bytes = 64 bits.

  12. #12
    Membre chevronné
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Par défaut
    Merci pour ces éclaircissements, c'est vrai qu'on était en droit de se poser la question...
    Ca veut dire qu'il va vraiment falloir faire gaffe à tous les anciens bouts de codes qui utilisaient par exemple aveuglément la taille des types de façon explicite ou non...

  13. #13
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Citation Envoyé par voider
    Sur un compilateur c++ 64 bit, int continuera d'etre 32 bit, long sera 64 bit, et long long sera lui ausis 64 bit. char, short, float, double et long double ne changeront pas.
    Ca dépend de quel 64 bits. Il en existe pour char/short/int/long je crois des 8/16/32/64 et des 8/16/64/64, et rien n'empêche des 8/32/64/64 ou des 8/32/32/64.


    Citation Envoyé par voider
    Autre modification importantes: un pointeur sera sur 8 bytes.
    En général, ok. Mais rien ne l'oblige.
    Citation Envoyé par voider
    Ceux qui avaient encore la mauvais habitude de caster un pointeur en int pour en extraire l'adresse auront quelques problemes.
    Ceux là avaient probablement des problèmes avant. Je ne vois pas en quoi un tel cast peut être utile dans du code C++ valide.

    Citation Envoyé par voider
    La conversion de long vers un double n'est pas safe, puisque long (64 bit) depasse la capacite d'un double. Utiliser un long double a la place.
    Je ne suis pas certain de ce que tu veux dire par safe, mais il n'a jamais été certain en convertissant un long en double puis en long de retrouver la valeur initiale.
    Citation Envoyé par voider
    Utiliser les identificateur pour les limites des types plutot que la valeur numerique correspondante (CHAR_BIT, CHAR_MAX, INT_MIN, ...) (voir include <climits>)
    En C++ le header <limits> avec la classe numeric_limits remplace avantageusement ces valeurs.

    Citation Envoyé par voider
    Privilieger l'utilisation de typedef dans votre code plutot que les type predefinit.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    typedef int           s32
    typedef unsigned int  u32
    typedef char          s8
    typedef unsigned char u8
    //...
    De cette facon, si un type change de grosseur d'un environnement a l'autre, les seuls changements que vous aurez a faire sera de modifier les typedef (a condition de n'utiliser que des s32, u32, etc dans votre code)
    J'ai très rarement le besoin de savoir le nombre de bits qu'aura une variable (exception : Code pour écrire dans un format binaire multi-architecture, par exemple pour de la sauvegarde binaire ou de l'échange réseau binaire, mais de toute façon, dans ce genre de situation, je manipule surtout des tableaux de char, pour éviter les problèmes d'endianess). Le fait que int puisse avoir un nombre de bits variant suivant l'architecture est une feature. On est ainsi assuré en prenant int d'avoir la taille que le processeur gère le mieux. Ces typedefs me semblent donc être une mauvaise idée dans le cas général.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  14. #14
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par voider
    Sur un compilateur c++ 64 bit, int continuera d'etre 32 bit, long sera 64 bit, et long long sera lui ausis 64 bit. char, short, float, double et long double ne changeront pas.
    Ca dépend de quel 64 bits. Il en existe pour char/short/int/long je crois des 8/16/32/64 et des 8/16/64/64, et rien n'empêche des 8/32/64/64 ou des 8/32/32/64.
    Voir la petite remarque que j'avais mit a ce sujet dans le bas de mon premier post


    Citation Envoyé par voider
    Ceux qui avaient encore la mauvais habitude de caster un pointeur en int pour en extraire l'adresse auront quelques problemes.
    Ceux là avaient probablement des problèmes avant. Je ne vois pas en quoi un tel cast peut être utile dans du code C++ valide.
    J'ai deja vu a quelques reprises du code du genre: std::cout << "Adresse de p:" << (unsigned int)p;

    Citation Envoyé par voider
    La conversion de long vers un double n'est pas safe, puisque long (64 bit) depasse la capacite d'un double. Utiliser un long double a la place.
    Je ne suis pas certain de ce que tu veux dire par safe, mais il n'a jamais été certain en convertissant un long en double puis en long de retrouver la valeur initiale.
    C'est evident que long > double > long ne garantit pas de revenir au resultat initial. Par contre, long depassera la capacite d'un double lors de la conversion long > double. Probleme qui n'est pas present en 32 bit.

    Citation Envoyé par voider
    Privilieger l'utilisation de typedef dans votre code plutot que les type predefinit.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    typedef int           s32
    typedef unsigned int  u32
    typedef char          s8
    typedef unsigned char u8
    //...
    De cette facon, si un type change de grosseur d'un environnement a l'autre, les seuls changements que vous aurez a faire sera de modifier les typedef (a condition de n'utiliser que des s32, u32, etc dans votre code)
    J'ai très rarement le besoin de savoir le nombre de bits qu'aura une variable (exception : Code pour écrire dans un format binaire multi-architecture, par exemple pour de la sauvegarde binaire ou de l'échange réseau binaire, mais de toute façon, dans ce genre de situation, je manipule surtout des tableaux de char, pour éviter les problèmes d'endianess). Le fait que int puisse avoir un nombre de bits variant suivant l'architecture est une feature. On est ainsi assuré en prenant int d'avoir la taille que le processeur gère le mieux. Ces typedefs me semblent donc être une mauvaise idée dans le cas général.
    Je parlais pour les cas ou il etait necessaire d'avoir un type de longueur fixe, peu importe le compilo/architecture (et pour eviter une reecriture/modification partout dans le code le cas echeant)

  15. #15
    tut
    tut est déconnecté
    Membre éclairé
    Avatar de tut
    Inscrit en
    Juillet 2002
    Messages
    373
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 373
    Par défaut
    et concrètement, le fait de passer de 32 à 64 bits, ça apporte quoi en plus, en mieux ? en terme de performances, etc...

  16. #16
    HRS
    HRS est déconnecté
    Membre chevronné
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    678
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 678
    Par défaut
    toutes vos questions n'ont de sens qu'avec un compilateur 64 bits.
    pour que ce dernier fonctionne, il faut un OS 64 bits qui lui même
    nécessite une machine 64 bits.

    Si vous continuer d'utiliser un compilo 32 bits sur un machine 64 bits,
    il n'y aura rien de changé. Je ne suis même pas sûr qu'il y aura une
    meilleure performance.

    à mon avis, si compilo 64 bits alors int = 64 bits

  17. #17
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    D'après ce que j'ai entendu, ça apporte pas grand chose en terme de performances. C'est surtout utile quand tu as besoin de bcp de mémoire.

  18. #18
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Au boulot on l'utilise pour une application devant gérer beaucoup de données CAO. Les perfs sont généralement un peu moins bonnes, mais on peut adresser suffisamment de mémoire pour stocker un modèle d'une voiture en mémoire.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  19. #19
    Membre éclairé Avatar de Higestromm
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    516
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 516
    Par défaut
    Il n'existe pas de bibliotheques permettant de gérer ce genre de trucs quelq qu soit le compilo / plate forme ?

    genre je déclare un uint32 il vas me créer un unsigned integer sur 32 bits...

    Si oui ca m'intéresse

  20. #20
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Il n'existe pas de bibliotheques permettant de gérer ce genre de trucs quelq qu soit le compilo / plate forme ?

    genre je déclare un uint32 il vas me créer un unsigned integer sur 32 bits...
    Un jour pour m'amuser, j'avais codé un truc à base de meta-prog qui trouve un type selon la taille que tu veux. Je sais pas si ça a une grande utilité, mais c'était marrant à coder.

Discussions similaires

  1. Comparaison d'un registre 8 bits avec une variable 32 bits
    Par tupperware dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 15/10/2002, 10h25
  2. Main icon (16 bits)
    Par DR dans le forum C++Builder
    Réponses: 2
    Dernier message: 02/09/2002, 08h23
  3. Cherche l'algo crc 16 bits
    Par icepower dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 21/08/2002, 13h27
  4. Debugger 16-32 bits
    Par Mat dans le forum Assembleur
    Réponses: 4
    Dernier message: 28/06/2002, 11h34
  5. Lire 1 bit d'un fichier en C
    Par Anonymous dans le forum C
    Réponses: 3
    Dernier message: 23/05/2002, 18h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo