begin process at 2010 02 10 15:55:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Autre

 > 

sizeof( void* ) / sizeof( int ) sur processeur 64 bit


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

sizeof( void* ) / sizeof( int ) sur processeur 64 bit

vendredi 2 novembre 2007 à 00:45:10 | sizeof( void* ) / sizeof( int ) sur processeur 64 bit

KeniiyK

Membre Club
Bonsoir,

Si quelqu'un a un processeur 64 bit, peut il me dire si l'adressage est sur 32 bits ou sur 64 bits ?
Que valent les renvoies de sizeof( int ) et sizeof( void* ) sur ces machines ?

Merci d'avance.


:D
vendredi 2 novembre 2007 à 01:15:55 | Re : sizeof( void* ) / sizeof( int ) sur processeur 64 bit

bond_never_die

Réponse acceptée !
Salut KeniiyK, avec la config suivante : CPU = AMD Turion 64 X2 OS = OpenSuSE linux 10.3 x86_64 j'obtient ceci : sylvain@linux-3z3q:/media/Kingston> ./sizeof sizeof(int) = 4 sizeof(void*) = 8 sylvain@linux-3z3q:/media/Kingston> Bon courage, A+
vendredi 2 novembre 2007 à 01:31:55 | Re : sizeof( void* ) / sizeof( int ) sur processeur 64 bit

racpp

Administrateur CodeS-SourceS
Réponse acceptée !
Salut,
sizeof() n'est pas une fonction. C'est plutôt un opérateur utilisé par le compilateur pour déterminer la taille en octet de la variable, le  type de variable,  ou l'expression, qui lui est passée en paramètre. Le résultat est inscrit en dur dans l'exécutable.
Pour les outils Microsoft, un int et un long sont des valeurs 32 bits sur un système 64 bits. Donc aucun changement de ce coté. Par contre, tous les pointeurs sont de 64 bits sur un système 64 bits.
On aura donc pour les systèmes 64 bits:
sizeof(int) -> 4 octets = 32 bits
sizeof(void*) -> 8 octets = 64 bits

vendredi 2 novembre 2007 à 02:02:43 | Re : sizeof( void* ) / sizeof( int ) sur processeur 64 bit

KeniiyK

Membre Club
Ok, merci pour vos réponses, et rapides !! (vu l'heure et la date). J'en conclue que seul l'adressage est modifié. Mais c'est un peu déroutant, à part le type primitif "double" aucun autre n'est sur 64 bits, pour garder la conversion (long) -> (void*) comme pour les LPARAM et autre ? (le cast est respecté par le compilo comme je me doute en low bit). Où est la limitation des entiers signés / non signés sur 64 bits (on considère que c'est du 32 et basta ? ) ?

:D
vendredi 2 novembre 2007 à 04:20:51 | Re : sizeof( void* ) / sizeof( int ) sur processeur 64 bit

racpp

Administrateur CodeS-SourceS
Réponse acceptée !
Il y'a le type __int64 ou unsigned __int64 redéfinis en INT64, LONGLONG, DWORDLONG et ULONGLONG.
LPARAM et WPARAM sont des valeurs 64 bits sur un système 64 bits. C'est normal car ils peuvent être des pointeurs.
Il ne faut donc pas caster ou convertir un pointeur en une valeur 32 bits.
Les types, INT_PTR, UINT_PTR, LONG_PTR, et ULONG_PTR peuvent être de 32 bits ou 64 bits selon le mode de compilation (32 ou 64 bits).

__int64 = de  -9223372036854775808 à 9223372036854775807
unsigned __int64 = de 0 à 18446744073709551615




Cette discussion est classée dans : int, void, sizeof, bit, processeur


Répondre à ce message

Sujets en rapport avec ce message

équation et tableaux [ par cabarrus ] je ne trouve pas l'erreur dans mon programme?#include#includeint deltanul(int);float deltainf(float);float deltasup(float);void main(void){float a,b,c Fch. Header :: CONIO.H [ par TontOnDuWeb ] Pour ce que ca interesse (avec vc++ les fonctions suivantes e sont pas incluse (du moins je crois...))>>#if !defined(__CONIO_H)#define __CONIO_H#if !d void et int [ par xionoxid ] SalutC koi la difference entre unvoid a;et int a; ?? taille chaine de char [ par langedechu ] Salut , voila mon prob (je sais plus comment faire) :j'ai une variable : const char *buffer; et j aimerais savoir le nombre de caractere stocker dans tailles des variables en octets [ par aardman ] Salut,Je me suis fait quelques tests sur les tailles des variables.voila les valeurs que mon compilo me retourne:sizeof(char) retourne 1sizeof(int) Snake tsssssssssss aidez moiiiiiiii [ par AmK ] Salut ,Je suis en train de coder un snake et la je crois avoir bien compris le principe de l'algo mais niveau code ça foire je sais pas pourquoi voila class.... [ par Tautau ] voila j'ai un petit prob lors de ma compilation et j'ai un test dessus lundi :#include "conio.h"#include "iostream.h"class C_Tableau{ private: Gros Probleme En C [ par Infern0 ] Bon, voila 3 fonction de mon programme. Avec celle d'affichage, quand j'affiche la 1ere, y a aucun probleme, si j'affiche la deuxieme, g des chiffre pb de Z-buffer ac openGL -> Help! [ par Arnaud16022 ] bonjour tt le monde!quelqun pourrait me dire pourqoui le Z-buffer marche pas?pasque le dernier (4ème) triangle dessiné apparait tjs au dessus, meme s' pb de compilation [ par norton ] bonjour, je desir compiler le code suivant mais j'ai une erreur.mon code :#include #include #include void Display();void Reshape(int,int);int main( in


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,123 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales