"Note Structured exception handling works with C and C++ source
files. However, it is not specifically designed for C++. You can
ensure that your code is more portable by using C++ exception
handling. Also, the C++ exception handling mechanism is much more
flexible, in that it can handle exceptions of any type.
For C++ programs, C++ exception handling should be used instead of
structured exception handling. For more information, see Exception
Handling in the C++ Language Reference."
However, when I try to port my existing code using "portable" C++
exceptions to eMvc I get a large number of "LNK2001: unresolved
external symbol ___CxxFrameHandler" errors, which suggest that C++
exception handling isn't supported, or do I just need to link specific
libs for it (given that there does at least appear to be compiler
support!) I'm developing for Pocket PC 2002.
So, am I doing something wrong, or have M$ messed up their
documentation by claiming that C++ exceptions are more portable than
SEH ??
Dave Harvey
Sadly, this is one of the areas where the CE documentation is a
cut-and-paste job from the desktop platform SDK.
Windows CE, prior to version 4.0 (CE.NET), does not support C++ exceptions.
The frame handler is not present in the corelibc.dll nor in the corelib.lib
which gets linked with your application. It's not possible to implement
yourself (at least, not without an extremely deep understanding of how the
compiler generates unwind information).
--
Mike Dimmick