Как инициализировать глобальную структуру в C
кстати, разрабатывая свой драйвер ядра, я знаю c++, но новичок в синтаксисе C
спасибо за помощь заранее
Что я уже пробовал:
сначала у меня была своя структура в файле .c, но я хочу инициализировать свои vars в глобальном пространстве, а не отдавать свои vars локальным. поэтому я попытался сделать это таким образом
в моем заголовочном файле но это не сработало было написано ошибка типа я погуглил но безуспешно
struct Orginal { PDRIVER_OBJECT driver_object; // NULL PDRIVER_UNLOAD unload; // NULL PDRIVER_DISPATCH major_functions[IRP_MJ_MAXIMUM_FUNCTION + 1]; //{ NULL }; PDEVICE_OBJECT device; // NULL BOOLEAN destroy_device; // bool false ULONGLONG guard_icall; // 0 }; struct orginal org; org = { .driver_object = NULL ,.unload = NULL , .device = NULL , .destroy_device = false , .guard_icall = 0};
на этот раз, когда я попытался сделать это в локальных функциях, он работает нормально
orginal org; org.device = NULL; org.destroy_device = false; org.guard_icall = 0; //org.major_functions = NULL; org.driver_object = NULL; org.unload = NULL;
KarstenK
Лучше всего написать инициализатор в какой-нибудь функции запуска/ввода.