I recently tried to do this, but I has to stop and come back to CW. GCC's
exception handling VERY quickly makes the data segment too big. The same is
true for RTTI. If you turn these off and don't use any inline member
functions, GCC is fine. I did find a switch to make GCC use a setjmp/longjmp
mechanism for exception handling which stopped the complier from writting
unwind information into the data segment, but I never succeeded in
throwing/catching an exception; I think I had to recompile all the libraries
to use the alternate exception mechanism as well, but I didn't try and
didn't confirm that this was actually the problem. Also I feared that the
setjmp/longjmp mechanism doesn't clean up automatic variables on the stack;
but again, this is unconfirmed.

GCC will inline member functions correctly, but it will also emit the code
into the first segment even if all calls have been inlined.

So, in my experience, leave GCC to desktop applications. Until GCC is
actually redesigned to handle the specific memory requirements of the Plam,
I wouldn't recommended it.

Cheers,
James.

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]On Behalf Of Mark
Smith
Sent: Saturday, 26 May 2001 01:39
To: Palm Developer Forum
Subject: gcc for large projects


Without wishing to start a religious debate, I'm curious to
know of anyone's experience with using gcc for larger-scale
(>100k, multi-segment) C++ Palm projects, especially if you've
used CodeWarrior before.  For instance (based on my minimal
knowledge), it appears that you have to explicitly label the
segment for each function/method.  Any other gotchas like that?

--
    -M-                                              [EMAIL PROTECTED]

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


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

Reply via email to