* Static memory allocation
@ 2004-09-24 10:57 Ankit Jain
2004-09-24 12:51 ` Patrick Percot
2004-09-25 10:03 ` Jon Masters
0 siblings, 2 replies; 6+ messages in thread
From: Ankit Jain @ 2004-09-24 10:57 UTC (permalink / raw)
To: gcc, linux prg
hi
well i had tried to enquire about this problem
i was not able to find the solution. i know it workds
when i declare the array globally. i know if i use
malloc it will work and i am using the same in my
program
but this question is again in my mind that what could
be the reason that it dosent work here on my system
because last time when i asked this question on some
sytem it was able to run which they said that they
have less emory then that of my system
my system config.: redhat linux 9.0 +512 RAM
this is what my terminal displays
[ankit@Ankit fft]$ cat try2.c
#include <stdio.h>
int main()
{
double a[1450][1450];
a[1450][0]=999.999;
printf("%lf\n",a[1450][0]);
return 0;
}
[ankit@Ankit fft]$ gcc try2.c
[ankit@Ankit fft]$ ./a.out
Segmentation fault
[ankit@Ankit fft]$
i just want to know that if there is some problem
related to stack how t oget rid of it
thanks
ANkit
________________________________________________________________________
Yahoo! Messenger - Communicate instantly..."Ping"
your friends today! Download Messenger Now
http://uk.messenger.yahoo.com/download/index.html
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Static memory allocation
2004-09-24 10:57 Static memory allocation Ankit Jain
@ 2004-09-24 12:51 ` Patrick Percot
2004-09-25 9:14 ` Ankit Jain
2004-09-25 10:03 ` Jon Masters
1 sibling, 1 reply; 6+ messages in thread
From: Patrick Percot @ 2004-09-24 12:51 UTC (permalink / raw)
To: ankitjain1580; +Cc: gcc-help, linux-c-programming
On Fri, 24 Sep 2004 11:57:08 +0100 (BST), Ankit Jain <ankitjain1580@yahoo.com> wrote
> hi
Hi,
>
> well i had tried to enquire about this problem
>
> i was not able to find the solution. i know it workds
> when i declare the array globally. i know if i use
> malloc it will work and i am using the same in my
> program
>
> but this question is again in my mind that what could
> be the reason that it dosent work here on my system
> because last time when i asked this question on some
> sytem it was able to run which they said that they
> have less emory then that of my system
>
> my system config.: redhat linux 9.0 +512 RAM
> this is what my terminal displays
>
> [ankit@Ankit fft]$ cat try2.c
> #include <stdio.h>
> int main()
> {
> double a[1450][1450];
> a[1450][0]=999.999;
You do not just have a stack problem : The upper bound is not 1450, but
1449, because the first index is 0.
So a[1449][0] has more chances to work correctly, but the problems
generated by such a fault can be insidious and very difficult to
discover, because the error can appear later in your program.
> printf("%lf\n",a[1450][0]);
> return 0;
> }
> [ankit@Ankit fft]$ gcc try2.c
> [ankit@Ankit fft]$ ./a.out
> Segmentation fault
> [ankit@Ankit fft]$
>
> i just want to know that if there is some problem
> related to stack how t oget rid of it
>
> thanks
>
> ANkit
>
>
>
>
> ________________________________________________________________________
> Yahoo! Messenger - Communicate instantly..."Ping"
> your friends today! Download Messenger Now
> http://uk.messenger.yahoo.com/download/index.html
>
À+
PP
--
Groupe Morbihannais d'Utilisateurs de Logiciels Libres http://www.tuxbihan.org
GPG fingerprint = 1A4F E154 3D2C A20E E4CA A543 7951 C5C2 E44A A0B5
Patrick Percot.
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: Static memory allocation
@ 2004-09-24 14:21 Huber, George K RDECOM CERDEC STCD SRI
0 siblings, 0 replies; 6+ messages in thread
From: Huber, George K RDECOM CERDEC STCD SRI @ 2004-09-24 14:21 UTC (permalink / raw)
To: 'Ankit Jain', gcc, linux prg
Ankit wrote:
>[ankit@Ankit fft]$ cat try2.c
>#include <stdio.h>
>int main()
>{
> double a[1450][1450];
> a[1450][0]=999.999;
> printf("%lf\n",a[1450][0]);
> return 0;
>}
>[ankit@Ankit fft]$ gcc try2.c
>[ankit@Ankit fft]$ ./a.out
>Segmentation fault
>[ankit@Ankit fft]$
This is a classic `off-by-one' error. When you allocate an
array int a[10] you are asking for ten storage locations that
are numbered 0 -- 9. (not 10).
In your program, the legal range for each index is 0-1449 (not 1450).
George
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Static memory allocation
2004-09-24 12:51 ` Patrick Percot
@ 2004-09-25 9:14 ` Ankit Jain
2004-09-25 21:51 ` Patrick Percot
0 siblings, 1 reply; 6+ messages in thread
From: Ankit Jain @ 2004-09-25 9:14 UTC (permalink / raw)
To: Patrick Percot; +Cc: linux prg
sorry boss but this also gives problem
[ankit@Ankit fft]$ cat try2.c
#include <stdio.h>
int main()
{
double a[1450][1450];
a[149][0]=999.999;
printf("%lf\n",a[149][0]);
return 0;
}
[ankit@Ankit fft]$ gcc try2.c
[ankit@Ankit fft]$ ./a.out
Segmentation fault
thanks
ankit
--- Patrick Percot <ppercot@free.fr> wrote:
> On Fri, 24 Sep 2004 11:57:08 +0100 (BST), Ankit Jain
> <ankitjain1580@yahoo.com> wrote
>
> > hi
>
> Hi,
>
> >
> > well i had tried to enquire about this problem
> >
> > i was not able to find the solution. i know it
> workds
> > when i declare the array globally. i know if i use
> > malloc it will work and i am using the same in my
> > program
> >
> > but this question is again in my mind that what
> could
> > be the reason that it dosent work here on my
> system
> > because last time when i asked this question on
> some
> > sytem it was able to run which they said that they
> > have less emory then that of my system
> >
> > my system config.: redhat linux 9.0 +512 RAM
> > this is what my terminal displays
> >
> > [ankit@Ankit fft]$ cat try2.c
> > #include <stdio.h>
> > int main()
> > {
> > double a[1450][1450];
> > a[1450][0]=999.999;
>
> You do not just have a stack problem : The upper
> bound is not 1450, but
> 1449, because the first index is 0.
>
> So a[1449][0] has more chances to work
> correctly, but the problems
> generated by such a fault can be insidious and
> very difficult to
> discover, because the error can appear later in your
> program.
>
> > printf("%lf\n",a[1450][0]);
> > return 0;
> > }
> > [ankit@Ankit fft]$ gcc try2.c
> > [ankit@Ankit fft]$ ./a.out
> > Segmentation fault
> > [ankit@Ankit fft]$
> >
> > i just want to know that if there is some problem
> > related to stack how t oget rid of it
> >
> > thanks
> >
> > ANkit
> >
> >
> >
> >
> >
>
________________________________________________________________________
> > Yahoo! Messenger - Communicate instantly..."Ping"
> > your friends today! Download Messenger Now
> > http://uk.messenger.yahoo.com/download/index.html
> >
>
> À+
> PP
> --
> Groupe Morbihannais d'Utilisateurs de Logiciels
> Libres http://www.tuxbihan.org
> GPG fingerprint = 1A4F E154 3D2C A20E E4CA A543
> 7951 C5C2 E44A A0B5
>
> Patrick Percot.
>
________________________________________________________________________
Yahoo! Messenger - Communicate instantly..."Ping"
your friends today! Download Messenger Now
http://uk.messenger.yahoo.com/download/index.html
-
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Static memory allocation
2004-09-24 10:57 Static memory allocation Ankit Jain
2004-09-24 12:51 ` Patrick Percot
@ 2004-09-25 10:03 ` Jon Masters
1 sibling, 0 replies; 6+ messages in thread
From: Jon Masters @ 2004-09-25 10:03 UTC (permalink / raw)
To: Ankit Jain; +Cc: gcc, linux prg
Hi Ankit,
It might be worth asking your friend which architecture and kernel
they are using - if it's Linux then they'll have to be using something
that automatically extends the stack quite a bit - or they're just
very lucky (or using Windows 98).
Cheers,
Jon.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Static memory allocation
2004-09-25 9:14 ` Ankit Jain
@ 2004-09-25 21:51 ` Patrick Percot
0 siblings, 0 replies; 6+ messages in thread
From: Patrick Percot @ 2004-09-25 21:51 UTC (permalink / raw)
To: linux-c-programming, gcc-help
On Sat, 25 Sep 2004 10:14:01 +0100 (BST), Ankit Jain <ankitjain1580@yahoo.com> wrote
Hello Ankit,
> sorry boss but this also gives problem
>
> [ankit@Ankit fft]$ cat try2.c
> #include <stdio.h>
> int main()
> {
> double a[1450][1450];
> a[149][0]=999.999;
> printf("%lf\n",a[149][0]);
> return 0;
> }
> [ankit@Ankit fft]$ gcc try2.c
> [ankit@Ankit fft]$ ./a.out
> Segmentation fault
>
Sure, Claudio Bley gave you the solution (look at ulimit). I just
pointed you on another potential problem in your code.
[..Zappé 94 lignes et 2428 caractères..]
À+
PP
--
Groupe Morbihannais d'Utilisateurs de Logiciels Libres http://www.tuxbihan.org
GPG fingerprint = 1A4F E154 3D2C A20E E4CA A543 7951 C5C2 E44A A0B5
Patrick Percot.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2004-09-25 21:51 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-09-24 10:57 Static memory allocation Ankit Jain
2004-09-24 12:51 ` Patrick Percot
2004-09-25 9:14 ` Ankit Jain
2004-09-25 21:51 ` Patrick Percot
2004-09-25 10:03 ` Jon Masters
-- strict thread matches above, loose matches on Subject: below --
2004-09-24 14:21 Huber, George K RDECOM CERDEC STCD SRI
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).