Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   C Programming (http://www.velocityreviews.com/forums/f42-c-programming.html)
-   -   sorry! i had changed it to c (http://www.velocityreviews.com/forums/t437429-sorry-i-had-changed-it-to-c.html)

03-22-2005 09:51 AM

sorry! i had changed it to c
 

<chong19782002@hotmail.com> 写入消息新闻:...
> sorry! i am not prepense
> i write it in c , and comp it under win2k and freebsd5.3
>
> in freebsd
> p [ 294 ] ok
> 1048576
> Killed
>
>
> ///////////////////////////////////////////
> #include <stdio.h>
> #include <stdlib.h>
> const int len = 2000;
> int main()
> {
> char* p1[len];
> int i =0;
> int x =0;
> static int size = 1<<20;
> printf( "%d \n", size);
> for ( i =0 ; i < len ;i++)
> {
> p1[i] = (char*) malloc (size);
> printf( "%d \n", size );
> char *tp = p1[i];
> for ( x =0 ; x< (size-1); x++)
> {
> //cout << x << endl;
> *(tp+x) = (char)( (x%26)+ 48);
>
> }
> *(tp+size-1) =0;
> printf( "p [ %d ] ok\n" , i);
> }
>
> for ( i =0 ; i < len ;i++)
> {
> free(p1[i]);
> }
> return 0;
> }
>
>
>
> //////////////////////////////////////////
>
> "Martin Ambuhl" <mambuhl@earthlink.net>
> ??????:u6Q%d.965$z.168@newsread2.news.atl.earthlin k.net...
> > chong19782002@hotmail.com wrote:
> > > hi
> > > i try to malloc 2G size mem . so i wirte code like that.

> >
> > You have no guarantee that you can do so. You need to check in a
> > newsgroup, mailing list, or tech support for your implementation.
> >
> > > it failt in freebsd 5.3 and win2k
> > > what's bug in my code ? how can i change it ?

> >
> > We really can't help, partially because you posted to comp.lang.c, where
> > we use C, and your code is not C. comp.lang.c++ is a different newsgroup
> > for a different language.
> >
> > Examples of C++isms are:
> > > #include <iostream>

> > This is not a C header.
> > > using namespace std;

> > This is a compilation error.
> > > #include <cstdlib>

> > This is not a C header.
> > > cout << size << endl;

> > 'cout' and 'endl' are undeclared identifiers, and '<<' is a
> > left-shift operator that probably don't do what you want.
> > > p1[i] = new char [size];

> > 'new' is an undeclared identifier, and the above is a compilation

> error.
> >
> > There are more instances, but I don't care to be tiresome.

>
>




Jack Klein 03-23-2005 03:19 AM

Re: sorry! i had changed it to c
 
On Tue, 22 Mar 2005 17:51:40 +0800, <chong19782002@hotmail.com> wrote
in comp.lang.c:

>
> <chong19782002@hotmail.com> 写入消息新闻:...
> > sorry! i am not prepense
> > i write it in c , and comp it under win2k and freebsd5.3
> >
> > in freebsd
> > p [ 294 ] ok
> > 1048576
> > Killed


The point is that no matter what language you write it in, the
limitations on how much memory your program can have are determined by
the system, not by the C language, or any other language.

If you want to know whether it is possible to allocate more memory
under Windows, ask in a Windows group like
news:comp.os.ms-windows.programmer.win32. For the same information
about Free BSD, ask in a BSD group or mailing list.

This is not a limitation of the C language, so the language can't tell
you how to overcome it, if indeed you can at all. Maybe you can't.

--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://www.eskimo.com/~scs/C-faq/top.html
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++
http://www.contrib.andrew.cmu.edu/~a...FAQ-acllc.html


All times are GMT. The time now is 04:23 AM.

Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57