les constantes globales sans utiliser #define

Ok, je suis à la recherche de définir un ensemble d'adresses de la mémoire comme des constantes dans une .h de fichier qui est utilisé par un tas de .c fichiers (nous sommes en C, pas en C++). Je veux être en mesure de voir les nom de la variable au lieu de simplement voir l'adresse hexadécimale dans le débogueur... si je veux convertir le #définit actuellement j'ai en constantes qui sont de portée mondiale. Le problème est que si je les définir comme ceci:

const short int SOME_ADDRESS  =  0x0010

puis-je obtenir le redoutable "plusieurs déclarations" erreur depuis que j'ai plusieurs .c fichiers à l'aide de cette même .h. Je voudrais utiliser un enum, mais qui ne fonctionnera pas, car il est par défaut de type entier (16 bits sur mon système... et j'ai besoin d'avoir plus de contrôle sur le type).

J'ai pensé à mettre toutes les adresses dans une struct... mais je n'ai aucun moyen (que je connais) de fixer les valeurs par défaut de l'instance de la structure dans le fichier d'en-tête (je ne veux pas présumer qu'un particulier .c fichier utilise la structure et le remplit d'ailleurs.. je voudrais vraiment avoir les constantes définies dans la .h fichier)

Il semblait si simple, quand j'ai commencé, mais je ne vois pas une bonne façon de définir à l'échelle mondiale disponibles à court int constant dans un fichier d'en-tête... quelqu'un connais un moyen de faire cela?

merci!

OriginalL'auteur Kira Smootly | 2012-03-12