Assuming CW9.2 ever materializes from Metrowerks, it is supposed to have
fixed Expanded Mode support.  Most useful to me in Expanded Mode is the
unrestricted use of virtual function calls that CW9.2's fixed Expanded
Mode promises (well, almost unrestricted:  so long as the virtual
functions exist in the first segment).  Without Expanded Mode, their use
of globals causes virtual function calls to crash when made in the
context of certain situations, e.g. launch code handlers.
Unfortunately, I've found that the nature of classes one would design
for instantiation during launch code handling have an affinity for
virtual functions.

I am considering code portability of a new project at this point, and
though I've never directly used gcc & its related tools, I am curious --
does gcc support something like Codewarrior 9.2's "Expanded Mode" in
that one may call virtual functions w/o globals available?  And does it
actually work?

If not, I am hesitant to leverage CW9.2's Expanded Mode so that I may
use virtual functions in my design.  The problem here is if my project
ever were ported to gcc.  A complete redesign of the abstract base
classes would be in order so as to eliminate, or at least to mitigate,
the use of virtual function calls that the concrete implementing class
can make, in order to avoid nasty crashes during launch code handling.
One shouldn't need to redesign a class hierarchy just to switch
compilers, so I'm thinking of skipping, once again, the use of virtual
functions in my design.  

Thanks for the bandwidth,
-Jeff Ishaq


-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/

Reply via email to