мне нужно в глобальном списке в моем GTK + приложение, я использую для этого GList:Глобальный список в C/GTK +
Например:
У меня есть структура:
typedef struct _data
{
Glist list;
}Data;
Я хочу использовать одну копию списка во всей программе:
у меня есть функция Bulid мой список:
gboolean build_list()
{
Data->list = g_list_append(Data->list, "First ");
Data->list = g_list_append(Data->list, "Second ");
Data->list = g_list_append(Data->list, "Third ");
g_list_foreach(Data->list, (GFunc)printf, NULL);
}
После вызова этой функции, чтобы отобразить все элементы из списка:
Первый Второй Третий
, но когда я пытаюсь сделать это в другой функции - например:
void foreach()
{
g_list_foreach(Data->list, (GFunc)printf, NULL);
}
Я вижу ошибку в gdb:
** Программный сигнал SIGSEGV, ошибка сегментации. [Переключение на тему 0xb7335700 (LWP 5364)] 0xb765a7d7 в strchrnul() из /lib/i686/cmov/libc.so.6 **
Как я могу создать глобальный список в моем приложении?
спасибо.