Salut,
je viens de constater (amèrement) que le compilo de Visual code les enum sur quatre octet.
Est-ce qu'il y a un moyen de lui demander (poliement) de les coder sur un seul ?
![]()
Salut,
je viens de constater (amèrement) que le compilo de Visual code les enum sur quatre octet.
Est-ce qu'il y a un moyen de lui demander (poliement) de les coder sur un seul ?
![]()
Il y a peut-être tout simplement un problème d'alignement des données, je ne suis pas sûr que même en travaillant avec des masques sur un octet la place mémoire occupe véritablement ne soit de 4 octets.
Tu sauvegardes les données ?
Tu peux utiliser un #pragma quelque chose (-a1) je crois mais je n'en suis pas sûr).
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés
Mon avatar : La Madeleine à la veilleuse de Georges de La Tour
pour tout le projet :
Paramètres compilo: /Zp1
ou bien :
Sous VC6 dans project->settings Onglet C++
Combo Category tu choisis Code Generation
puis Combo Struct member Alignement tu choisis 1 Byte
Sinon :
#pragma pack(n) ou n vaut 1,2,4,8 ou 16 suivant l'alignement que tu veut.
Par contre c'est pour les structs, je te garrantis pas que ça marche pour les enum...
salut, c'est valable pour l'alignement des structures ,ça m'étonnerait que ça agisse sur la taille d'un enum ...
non ?
![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Le compilo considère les enum comme des int, donc à mon avis, la taille n'est pas réglable...
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.
aïe, c'est ennuyeux ça...
en fait l'application "discute" avec un système externe selon un protocole ou des enums sont définis sur un octet... je faisais donc une simple recopie, jusqu'à ce que je constate que j'aie des octets en trop.![]()
Tant pis, je ferai des cast sur unsigned char, mais je vais quand même tenter le coup de l'alignement mémoire.
Merci !
Partager