Obecnie przeglądam kod sterownika "innej firmy", aby dowiedzieć się, jak działa. Spojrzałem na witryny takie jak this one, więc trochę rozumiem, jak działa podstawowa przesłanka, ale nie rozumiem celu tutaj #ifdef MODULE
. Google nie stanowi zbytniej pomocy, ale myślę, że definicja odnosi się do modułu jądra? (Jestem również całkowicie nowy na tym.)Cel "#ifdef MODUŁA" wokół module_exit()?
module_init(os_driver_init);
#ifdef MODULE
module_exit(os_driver_cleanup);
#endif
Moje pytanie brzmi, co się stanie, jeśli usunę oświadczenie #ifdef
? Ponadto, dlaczego/kiedy konieczne byłoby dołączenie oświadczenia #ifdef
?
Czy istnieje alternatywa (niżej w kodzie) 'module_exit (...)' linia? Możliwe, że wywoływane są funkcje alternatywne, a moduł 'ifdef MODULE' steruje tym – chrisb2244
. Może' MODULE' ma zostać zdefiniowany, gdy sterownik jest statycznie wkompilowany w jądro? http://www.fsl.cs.sunysb.edu/kernel-api/re02.html – user694733
Czy można utworzyć link do tego kodu "strony trzeciej"? Pokazane "# ifdef" nie powinno już tam być. –