Re: Some confusing code of the kernel
Marcus Hähnel <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Organization | Technische Universität Dresden |
| Message-ID | <[email protected]> |
On 2014-05-28 03:59, Yuxin Ren wrote: > Thank you very much. > But how can I know which file is compiled? This is decided during build time based on your configuration. The vuild system decides which file to build based on the CONFIG_VIRT_OBJ_SPACE setting. See src/Modules.generic. - Marcus > > On Wed, May 28, 2014 at 6:55 AM, Adam Lackorzynski > <[email protected]> wrote: > >> Hi, >> >> On Tue May 27, 2014 at 13:51:31 -0800, Yuxin Ren wrote: >>> Now I am learning the kernel code of Fiasco. >>> But as I do not know much about C++, I feel confused about some >>> code. >> >> Some C++ knowledge is required I think... >> >>> In the file obj_space-virt.cpp, we have such code >>> EXTENSION class Generic_obj_space : >>> Obj_space_virt<Generic_obj_space<SPACE> >>>> >>> >>> And similarly, in the file obj_space-phys.cpp, we have >>> EXTENSION class Generic_obj_space : >>> Obj_space_phys<Generic_obj_space< SPACE >>>>> >>> >>> 1. What's the meaning of these tow line code? Does it mean that the >>> class >>> Generic_obj_space >>> inherit from both class Obj_space_virt and class Obj_space_phys? >> >> It inherits from just Obj_space_phys which however takes another >> class >> as a parameter to implement some specific functionality at compile >> time. >> >>> 2. I note that class Obj_space_virt and Obj_space_phys have some >>> methods >>> with the same name, >>> such as lookup_local method. When such a method is called, how can I >>> know >>> which class is invoked? >> >> That depends on the type of the object the method is called on. In >> this >> particular case with obj_space-*.cpp, only one file of the two files >> is >> compiled, so only one version of Generic_obj_space can ever exist. >> >> Adam >> -- >> Adam [email protected] >> Lackorzynski http://os.inf.tu-dresden.de/~adam/ [1] >> >> _______________________________________________ >> l4-hackers mailing list >> [email protected] >> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers [2] > > > > Links: > ------ > [1] http://os.inf.tu-dresden.de/~adam/ > [2] http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers > > _______________________________________________ > l4-hackers mailing list > [email protected] > http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers _______________________________________________ l4-hackers mailing list [email protected] http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers