This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
gcc exception handle
- From: 王 刚伟 <gwwang10 at hotmail dot com>
- To: gcc-help at gcc dot gnu dot org
- Date: Mon, 29 Jan 2007 17:23:40 +0800
- Subject: gcc exception handle
- Bcc:
Hi,
Here is My test function :
class A
{
public:
private:
char string[SIZE];
};
void test1(void)
{
A obj;
try
{
throw obj;
}
catch (A &e)
{
printf("exception ! \n");
}
}
when SIZE <= 68,"__cxa_allocate_exception" allocates space for the
exception successfully,after "__cxa_throw" is called,"__cxa_begin_catch" is
called,and the statement "printf..." in the catch block can be executed.
when SIZE > 68, ,"__cxa_allocate_exception" also allocates space for the
exception successfully,but after "__cxz_throw" is called,"__cxa_end_catch"
is called,and the program crashed.
Did the error occur in compilation period or link period?
How can I make the compiler support SIZE <= the size of Task Space?
Any suggestions?
thank you!
_________________________________________________________________
与联机的朋友进行交流,请使用 MSN Messenger: http://messenger.msn.com/cn