9:15 PM
Ok, just managed to finish the build process in place for
the kernel module. Then sent a email to the group and I'll
wait from there, I don't want to put all my effort in there
only to be wasted later.
4:35 PM
Currently compiling gcc as a cross-compiler targetting x86-
pc-linux. Will attempt to make an Atheos build later.
1:29 PM
Currently playing with Atheos' makefiles, it looks
like the
build structure needs some improvement so I'm modifying how
the build process works. Hope the change gets accepted 'coz
I think the owner should be doing this. Also, I noticed
the build structure isn't part of the development
package, hmm, I wonder why?
11:53 AM
After doing some simple exercise with COM like
structures
and C++ structures, I find the following to be very
important in my work:
(1) C++ provides inheritance that allows the derived object
to call its overriden member function. This feature has its
pros and cons and I should be aware when to use inheritance
'coz not all solutions require inheritance.
(2) In C++, multiple inheritance provides an easy way of
introducing design mistakes.
(3) COM like structures do not support inheritance as
inheritance couples the objects and distorts the interface
between objects. Also, COM is not OO but rather a
structure where a client can get any reference by returning
a casted pointer. This is done using containment and
aggregation where a class can aggregate multiple instances
under it or redefine the member by means of containment.
Stroustrup has heavily defended inheritance with his
principle that an object is defined by it and its
surrounding objects.
(4) C++ provides a way of implementing interfaces and that
is via namespaces.
(5) Code reuse in C++ is done via white-box, the
implementer must be aware of the contents of the object.
COM like objects, on the other hand, use black-box, usually
via aggregation to implement code reuse, the implementer
doesn't care what happens inside the object as long the
interface/contract is permenant. COM components expose one
or more interfaces for clients to connect to and query it
if a service is available. On C++, implementers assume that
clients know its objects intimately that querying for
services are considered an excess.
(6) Factoring [1, 2, 3]
plays a very important part on OO/component design.
2:15 AM
Reference:
Inside
COM
The C++ Programming
Language
Inside
the C++ Object Model
Clippings
Linux gains foothold in local
mart
