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

C++ Discussion :

type 64 et int64_t norme c99


Sujet :

C++

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Points : 176
    Points
    176
    Par défaut type 64 et int64_t norme c99
    BOnjour,

    sous C++ peut on utiliser le type int64_t pour avoir des variables 64 bits ou vaut il mieux utiliser long long ?

  2. #2
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 11
    Points : 16
    Points
    16
    Par défaut
    Personnellement j'utilise les long long sous Windows et Linux.

    Windows : sont vus comme des __int64 (8 octets)
    Linux : font aussi 8 octets sous ma version

  3. #3
    Débutant
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Points : 176
    Points
    176
    Par défaut
    en faite je me demande si le type int64t_ du C99 est conseillé pour le C++

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    A condition d'utiliser le bon en-tête (à la C++), le langage récupère ces définitions du C :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include <iostream>
    #include <cstdint>
    #include <limits>
     
    int main()
    {
       std::cout<<std::numeric_limits<int64_t>::min();
     
       return 0;
    }

  5. #5
    Débutant
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Points : 176
    Points
    176
    Par défaut
    c'est normal que sous g++ dernière mouture cstdint n'existe pas alors que stdint.h si?

    EDIT: tu vas me répondre utilise boost/stdint.hpp ?

  6. #6
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 11
    Points : 16
    Points
    16
    Par défaut
    Up pour avoir la réponse de 3DArchi

  7. #7
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    Avec MinGW, je trouve : MinGW\lib\gcc\mingw32\4.5.0\include\c++\cstdint
    Et le code donné quelques posts plus haut compile très bien avec l'option -std=c++0x

  8. #8
    Débutant
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Points : 176
    Points
    176
    Par défaut
    Sous visual comment faire pour préciser cette option ?
    est-ce possible de le faire sous visual 2008 ?

    Merci!

    Par ailleurs sous windows tu conseils d'utiliser MinGW plutôt que visual comme compilateur ?

  9. #9
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    Citation Envoyé par guillaume07 Voir le message
    Sous visual comment faire pour préciser cette option ?
    est-ce possible de le faire sous visual 2008 ?
    Il me semble que pour les versions express, il faut Visual 2010 pour cette option et compiler en C++0x (cf tuto VS 2010)

    Citation Envoyé par guillaume07 Voir le message
    Par ailleurs sous windows tu conseils d'utiliser MinGW plutôt que visual comme compilateur ?
    Non. Moi j'aime bien Visual pour son debugger. Mais MinGW/gcc lève plus de warning et a un peu moins d'écart à la norme que Visual (même si visual est aujourd'hui à mon sens un très bon compilateur C++). En fait, j'utilise souvent les 2.

Discussions similaires

  1. Erreur C2275: norme c99 sous VC 2010?
    Par darkman19320 dans le forum Visual C++
    Réponses: 3
    Dernier message: 02/02/2012, 12h20
  2. Consultez la norme C99
    Par Franck.H dans le forum C
    Réponses: 0
    Dernier message: 15/02/2008, 18h04
  3. [C99] type ulong non reconnu
    Par jowo dans le forum C
    Réponses: 3
    Dernier message: 30/08/2006, 16h01
  4. Réponses: 11
    Dernier message: 12/02/2006, 21h46
  5. Norme SQL pour quel type de base ?
    Par kij dans le forum Langage SQL
    Réponses: 2
    Dernier message: 21/04/2005, 17h30

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