I finally got a simple dll to work. I know havent got much time these days. However i got some question about use of global variables in the dll it self.
E.g i am fooling around with the use of extern etc. But the only way i can get it to work correctly is if i use the static keyword for the variable. e.g.

Header file for dll i got

extern struct _person person;

In the dll c file i got
static struct _person person;

I then got functions in the dll to manipulate person data. I know probably not the best way in doing things but trying to get familiar with dlls.

My question is:

How does the initialization and access to globals in dll work. Are they "sticky" or are they initialized each time you use the dll etc etc.