Petite question C/C++

Je bosse sur un (gros) projet en C/C++ et j’ai besoin d’une variable globale. Comme il ne s’agit pas de faire n’importe quoi, faut utiliser des structures déjà existantes :

typedef struct _PDrvType
{
[plein d’éléments]
MemPtr           phoneDataP;
[encore plus d’éléments]
} PDrvType, *PDrvPtr;

MemPtr ayant comme type :
typedef void *         MemPtr;

Ce que je cherche à faire c’est faire une structure pointée par phoneDataP, histoire de pouvoir accéder à cette structure de façon globale. Ca doit être tout con, mais comme suis un peu rouillé en structures…

heu, soit c’est une question bete : sois je l’ai pas comprise
tu fait, dans un fichier .c/.cpp un :
MemPtr *gMonPointeurQuiVaBien = NULL;
et dans un .h/.hpp:
extern MemPtr *gMonPointeurQuiVaBien;
et bah apres, il faut juste pas oublier de l’assigner avant de s’en servir.
non ?

(et pour ce qui me demande : c’est pas du c++, et c’est pas de la notation polonaise (de toute facons la notation polonaise, c’est salle et ca colle ) )

En fait, on a résolu le pb

Voilà ds le .h :
typedef struct _TelMC5xParamType
{
  uint32_t       UssdState;
} TelMC5xParamType, *TelMC5xParamPtr;

Voilà dans l’init :
TelMC5xParamPtr MC5xDriverDataP = NULL;
MC5xDriverDataP = (TelMC5xParamPtr)MemPtrNew(sizeof(TelMC5xParamType));
driverP->phoneDataP = MC5xDriverDataP;

Et puis il suffit d’utiliser le bazaa (voilà où j’ai coincé parce qu’il faut préciser et le type et la structure) :
((TelMC5xParamPtr)driverP->phoneDataP)->UssdState

Vive le C !

Pas mieux que counto (juste pour l’embeter, je sais bien qu’il fait dire c0unt0 & tout & tout mais j’aime bien l’embeter), je dois pas avoir compris la question

Si tu veux faire une structure globale accessible par tout le monde (bouuuuuuh), tu peux faire, dans un .H/HPP :

typedef struct _MaStructureQuElleEstBelle
{
 [plein de choses qu’elles sont géniales ici]
} MaStructureQuElleEstBelle;

extern MaStructureQuElleEstBelle g_MonSingletonDeMaStructure;

pis dans un .C/CPP :

MaStructureQuElleEstBelle g_MonSingletonDeMaStructure;
et voila !

C’est crade, pas conseillé & tout, mais ça marche. Ou alors j’ai rien compris

(ah zut, trop tard)
Ce message a été édité par tuo le 16/04/2004