Пишу на С dll в которой надо заполнять список элементов, дак вот начало списка надо постоянно хранить, как объявить переменную указатель на структуру что бы при вызове экспорт функции указатель постоянно хранился в памяти?
можно сделать так в exe создаете указатель потом например вызываете AllocList(Item)? она создаст список заполнит его и вернет указатель на заполненный список или NULL потом как Вам станет не нужен список вызываете FreeList(Item)? Dll ничего не хранит за время жизни списка отвечаете Вы ну и конечно придется каждому интерфейсу которому нужен список передавать указатель одним из параметров но если Dll не просто заполняет список а еще выполняет какую то сложную обработку этого списка а при вызове из Dll функций возвращает информацию после обработки то тогда например так static GList *ItemList; в том модуле в котором со списком работаетe ну и блокировки написать если многопоточная обработка работать так же как с переменной с внутренним связыванием