PDA

Visualizza la versione completa : [c++]inizializzazione


giuseppe500
13-02-2010, 14:40
Ciao.
Sto studiando un engine 3d e ha un sistema di inizializzazione che assegna ad un puntatore a funzione l'indirizzo della funzione di inizializzazione.
L'engine ha una classe comune di applicazione compilata in una library(.lib) dove all'interno ho la mia funzione da richiamare (Run) e uba macro WM4_WINDOW_APPLICATION.

dichiara nella classe di utilizzo:


typedef int (*EntryPoint)(int, char**);
static EntryPoint Run;


e all'interno del .cpp che eredita dalla classe comune di applicazione della library.


WM4_WINDOW_APPLICATION(SkinnedBiped);
//la macro:
#define WM4_WINDOW_APPLICATION(classname) \
WM4_IMPLEMENT_INITIALIZE(classname); \
\
void classname::Initialize () \
{ \
Application::Run = &WindowApplication::Run; \
TheApplication = WM4_NEW classname; \
}


il problema che non esegue la macro anche se richiamata , ho provato a mettere un breakpoint nella macro e questi spariscono quando faccio il run dell'applicazione.
Uso vs 2008.

Loading