June 7, 2006

x86_64 Status update

Hello everybody!
It was really a huge break in posting - I hope that you are still with me here :-)

The x86_64 kernel is moving forward, although my development has been slowed down recently. I have to complete my PhD thesis which is of the highest priority at the very moment. But I do my best and in my free time I continue writting the x86_64 kernel.

Recently, I have switcheed over to C++ language, in order to simplify my work (through templates) to use the object-oriented approach (so should it be on AmigaOS-like operating system) and to clearify the source code. It is not a complete C++ implementation - it does not include the STL and libstdc++ even. But it works pretty well.

One of the C++ ideas which I have borrowed from the C# language are events and generics. The EventHadler template is used to generate function objects which may call several different methods (or functions) at the same time. In order to clearify it, have a look at the following code:


  [...]
    EventHandler<char> ev;
    ev += Function1;
    ev += Function2;
    ev("C++ is nice");
  [...]


where the Function1 and Function2 take the char* as the only parameter. Both of them will be called with the "C++ is nice" string in the argument.

Stay tuned for more news :-)