|
Change your array dimension to 500 and I suspect you'll see a failure
around the 257th allocation. Each language runtime could handle storage
allocations in different manners, but I would expect most of them to fail
in the neighborhood of 4GB.
Bruce
Mel Rothman
<mel@xxxxxxxxxxxx To: C400-L@xxxxxxxxxxxx
om> cc:
Sent by: Subject: [C400-L] Re:
Authentication / base64 encoder?
c400-l-bounces@mi
drange.com
08/29/2003 10:26
AM
Please respond to
C programming
iSeries / AS400
Jon,
I don't know where RPG allocates storage from (you said "from the
default heap which has 1 16M limit"), but I just ran a test that
indicates RPG dynamic storage is not limited to only 1 16 megabyte
piece of storage.
Below is the code and it had no problems allocating 16,000,000 bytes
to each of 50 pointers.
Am I missing or misunderstanding something?
Did you mean to say 16M per pointer?
Mel Rothman
Mel Rothman, Inc.
D ptrs s * dim(50)
D i s 10i 0
C for i = 1 to %elem(ptrs)
C alloc 16000000 ptrs(i)
C endfor
C eval *inlr = *on
Jon Paris wrote:
> >> But what I'd really like to know - is there any reason for OS/400 to
> return NULL after calling for example r = (char *) malloc(1000000) ;
>
> The major reason would be that you've exhausted the heap space (or at
least
> there no contiguous space of 1,000,000 bytes available). I'm not certain
> about C, but RPG allocates form the default heap which has 1 16M limit.
> Unless you specify that the C code is to use terraspace capability then I
> suspect it has the same limit. If you are using small amounts of memory
I
> wouldn't bother about it - if you're using 1,000,000 byte requests then
> probably safer to use the CEE APIs and create your own custom heap.
>
> Jon Paris
> Partner400
> www.Partner400.com
>
> _______________________________________________
_______________________________________________
This is the C programming iSeries / AS400 (C400-L) mailing list
To post a message email: C400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/c400-l
or email: C400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/c400-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.