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 :

Conversion DWORD


Sujet :

C++

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2002
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 101
    Par défaut Conversion DWORD
    Bonjour j'ai du code C++ develope sous Windows que je dosi porter sous Unix.

    Voila ce que je propose pour les types, merci de me corriger:
    BYTE : unsigned char
    ULONG : unsigned long
    USHORT : unsigned short
    HANDLE : void*
    BOOL : boolean
    DWORD :
    soit taille mot memoire donc size_t
    soit un 32bits 'fixe' donc unsigned long int UINT4

    je suis pas sur de DWORD... un DWORD est un 32 bits 'fixe' et un unsigned long est la taille d'un mot mémoire donc c'est 32bits aussi mais 'variable' suivant l'architecture


    merci de votre aide

    David

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2002
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 101
    Par défaut
    et un PBYTE c'est quoi ?

  3. #3
    Membre émérite Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    890
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 890
    Par défaut
    Le mieux c'est d'aller voir dans windef.h:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    typedef unsigned long       DWORD;
    typedef int                 BOOL;
    typedef unsigned char       BYTE;
    typedef unsigned short      WORD;
    typedef float               FLOAT;
    typedef FLOAT               *PFLOAT;
    typedef BOOL near           *PBOOL;
    typedef BOOL far            *LPBOOL;
    typedef BYTE near           *PBYTE;
    typedef BYTE far            *LPBYTE;
    typedef int near            *PINT;
    typedef int far             *LPINT;
    typedef WORD near           *PWORD;
    typedef WORD far            *LPWORD;
    typedef long far            *LPLONG;
    typedef DWORD near          *PDWORD;
    typedef DWORD far           *LPDWORD;
    typedef void far            *LPVOID;
    typedef CONST void far      *LPCVOID;
     
    typedef int                 INT;
    typedef unsigned int        UINT;
    typedef unsigned int        *PUINT;
     
    typedef unsigned char UCHAR;
     
    typedef short SHORT;
     
    typedef unsigned short USHORT;
     
    typedef DWORD ULONG;
     
    typedef double DOUBLE;

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2002
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 101
    Par défaut
    merci et en plus j'ai enfin trouve la msdn

    http://msdn.microsoft.com/library/de...data_types.asp


    par contre j'ai toujours un doute sur LPCTSTR !

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 391
    Par défaut
    pour DWORD, je crois qu'il existe des types standard "unsigned int 32bits" (genre uint32_t) sinon, tu mets unsigned long, sur une architecture 32bits, c'est voué à être le cas.

    Pour le Handle, je dirais unsigned int ou unsigned long aussi: le void *, c'est pour les modes "strict" (empêcher qu'on fasse n'importe quoi avec, comme des additions qui n'auraient aucun sens) mais ce sont des descripteurs...


    LPCTSTR en mode normal = const char *
    en mode UNICODE, c'est un const wchar_t *
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2002
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 101
    Par défaut
    ok merci pour ces precisions

    une question : un unsigned long est la taille d'un mot memoire donc 32bits sur une archi 32..

    existe t-il des cas ou un unsigned long de 32bits sur une archoi de 64bits existe !

  7. #7
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 391
    Par défaut
    sous 32bits, un long fait toujours 32 bits (mais un long long est supposé en faire 64)

    sous 64 en général, je ne sais pas, mais sous WIN64, on dirait bien que les long sont restés à 32 bits.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  8. #8
    Membre confirmé
    Inscrit en
    Juin 2002
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 101
    Par défaut
    ok merci...

    c'est une info que je voudrais verifier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. conversion BYTE --> DWORD
    Par koukou11 dans le forum VC++ .NET
    Réponses: 0
    Dernier message: 13/05/2011, 21h02
  2. conversion de types DWORD const char *
    Par koukou11 dans le forum VC++ .NET
    Réponses: 3
    Dernier message: 04/03/2011, 01h43
  3. Conversion DWORD char*
    Par snakemetalgear dans le forum C++
    Réponses: 3
    Dernier message: 11/07/2009, 08h49
  4. Conversion d'un dword en std::string (format 2 chiffres)
    Par Rodrigue dans le forum SL & STL
    Réponses: 3
    Dernier message: 09/08/2006, 10h35
  5. Réponses: 2
    Dernier message: 05/06/2002, 12h29

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