Often when you're writing a server or client application with The Server Framework you will find yourself needing to perform operations periodically or after a timeout. The Server Framework provides a light-weight timer queue that can be used to schedule timers and that uses minimal system resources so that there's no problem with having multiple timers per connection; even on systems with 10,000 connections.…
« April 2009 |
May 2009 Archives
| June 2009 »
Well, I've finally done something that I've been meaning to do for a long time. I've written some non-trivial assembly language code. Up until recently I wasn't expecting this to be embedded assembly, but it actually seems like a sensible way to get into this low level stuff. Programming an 8bit RISC microcontroller in assembly is considerably easier than trying to do something with a PC. The chips are cheap (as chips), the tools are free, there's an active user community and the electronics required is relatively simple. Right now the code is heavily based one someone else's code; but…
Continue reading Embedded assembly programming.
I'm currently wrapping a server's client side API in an ATL COM object for a client. The COM object will be used to communicate with the server from managed code or VB or other COM compatible systems. It's a fairly straight forward process as the original 'C' DLL interface client API was built with this kind of thing in mind and I've done enough C++ objects wrapping a 'C' API conversions in the past to make the whole process relatively painless and straight forward. However, there's always something... I'm running the code through my automated build process before release and…
Continue reading Building an inproc ATL COM object as x86 and x64.
I've just spent a little too long trying to track down a bug in a mixed mode DLL that I'm building. The DLL exposes a set of entry point functions that are defined as taking a single pointer argument and lies to the application that hosts it so that the application can call it with various numbers of arguments. The arguments could change from call to call or from 'session' to 'session'. This all works fine thanks to the wonders of __stdcall and the fact that my DLL knows what arguments to expect and so can unmarshall them correctly by…
Continue reading #pragma unmanaged.
« April 2009 |
May 2009 Archives
| June 2009 »