B
ben
Hi everyone!
It is the first time I used google groups to post a message so I don't
know if my post is in the right place. Anyway, I have a question about
gcc-2.95.3.
I use it to compile a program written in C++. It compiles fine but the
problem I have is the size it takes.
The question I have is the following : how can I be sure that gcc
performs all optimization steps I put in my Makefile (-Os...). Indeed,
in gcc-3.2 man pages (I know it's not the same version but I have this
last at home!) I have seen that if a file was too big or too complex,
gcc refused to perform optimization steps. In order to see if some
steps was disabled, I would like to add "-Wdisabled-optimizations" in
my Makefile but unfortunately this flag doesn't exist with gcc-2.95.3.
Do you know if some options could give me any responses?
Here is the size of my big(?) file :
soapC.cpp : 2.7Mo (approximately 70000 lines!!!)
I send you a little part of the generated code :
<code>
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__QName(struct soap *soap,
char *const*a)
{
soap_reference(soap, *a, SOAP_TYPE__QName);
}
SOAP_FMAC3 void SOAP_FMAC4 soap_mark__QName(struct soap *soap, char
*const*a)
{
soap_reference(soap, *a, SOAP_TYPE__QName);
}
SOAP_FMAC3 int SOAP_FMAC4 soap_put__QName(struct soap *soap, char
*const*a, const char *tag, const char *type)
{
int i = soap_embed_element(soap, (void*)a, tag, SOAP_TYPE__QName);
soap_out__QName(soap, tag, i, a, type);
return soap_putindependent(soap);
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out__QName(struct soap *soap, const
char *tag, int id, char *const*a, const char *type)
{
return soap_outstring(soap, tag, id, a, type, SOAP_TYPE__QName);
}
SOAP_FMAC3 char ** SOAP_FMAC4 soap_get__QName(struct soap *soap, char
**p, const char *tag, const char *type)
{
if ((p = soap_in__QName(soap, tag, p, type)))
soap_getindependent(soap);
return p;
}
</code>
you can see that functions are not very long. That implies there is a
lot of functions in my file. SOAP_FMAC3... are defined as macros.
Hope you will help me...
Thanks.
Ben
It is the first time I used google groups to post a message so I don't
know if my post is in the right place. Anyway, I have a question about
gcc-2.95.3.
I use it to compile a program written in C++. It compiles fine but the
problem I have is the size it takes.
The question I have is the following : how can I be sure that gcc
performs all optimization steps I put in my Makefile (-Os...). Indeed,
in gcc-3.2 man pages (I know it's not the same version but I have this
last at home!) I have seen that if a file was too big or too complex,
gcc refused to perform optimization steps. In order to see if some
steps was disabled, I would like to add "-Wdisabled-optimizations" in
my Makefile but unfortunately this flag doesn't exist with gcc-2.95.3.
Do you know if some options could give me any responses?
Here is the size of my big(?) file :
soapC.cpp : 2.7Mo (approximately 70000 lines!!!)
I send you a little part of the generated code :
<code>
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__QName(struct soap *soap,
char *const*a)
{
soap_reference(soap, *a, SOAP_TYPE__QName);
}
SOAP_FMAC3 void SOAP_FMAC4 soap_mark__QName(struct soap *soap, char
*const*a)
{
soap_reference(soap, *a, SOAP_TYPE__QName);
}
SOAP_FMAC3 int SOAP_FMAC4 soap_put__QName(struct soap *soap, char
*const*a, const char *tag, const char *type)
{
int i = soap_embed_element(soap, (void*)a, tag, SOAP_TYPE__QName);
soap_out__QName(soap, tag, i, a, type);
return soap_putindependent(soap);
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out__QName(struct soap *soap, const
char *tag, int id, char *const*a, const char *type)
{
return soap_outstring(soap, tag, id, a, type, SOAP_TYPE__QName);
}
SOAP_FMAC3 char ** SOAP_FMAC4 soap_get__QName(struct soap *soap, char
**p, const char *tag, const char *type)
{
if ((p = soap_in__QName(soap, tag, p, type)))
soap_getindependent(soap);
return p;
}
</code>
you can see that functions are not very long. That implies there is a
lot of functions in my file. SOAP_FMAC3... are defined as macros.
Hope you will help me...
Thanks.
Ben