16 August 2004

Limitations and caution on CE

The standard library implementation that comes with eVC 4.0 does not include the IOStream library. That means no [i|o]stringstream and no [i|o]fstream. The biggest loss with stringstream is the type-safe number conversion. fstream offers similar benefits wrapped in a, generally, clear-cut interface.

I had mentioned before about the delicate nature of CE with regard to memory corruption--the OS will allow the overruns and such until your code eventually locks. Walking through can be very slow and tedious. Another instance where silent memory corruption can occur is when you reference COM objects in your code. I had a code path the bypassed ::CoInitialize(), checked all returns on CreateInstance(), and still ended up with corrupted memory.

All of these memory problems were bugs in my code. However, they would have failed immediately and at the point of the error in a desktop application. There's just less room for error on CE.

[ posted by sstrader on 16 August 2004 at 3:22:16 PM in Programming | tagged mobile development ]