• C

How do I create an array of greater than 64k under Turbo C 2.0?

I use Turbo C 2.0 and Dos 6.22

I found this on http://community.borland.com/.

>Allocating more than 64K of data in a single modul - by Borland Developer Support Staff

> Technical Notes Database

>TN2890C.txt   Allocating more than 64K of data in a single modul
>Category   :C
>Platform   :All
>Product    :TC  1.0

>Description:
>QUESTION:
>Can I statically allocate more than 64K of data in a single module?
>ANSWER:
>Yes. Far data items are now supported:
>...
>char far array1[60000L];
>char far array2[60000L];
>...
>For arrays larger than 64k use:
>char huge array3[100000L];

>Reference:

>7/2/98 10:43:08 AM

>Products:
>Turbo C/C++ 1.0

>Platforms:
>DOS 1.0; Windows 3.1 1.0

>Article ID: 17890   Publish Date: July 02, 1998  Last >Modified: September 01, 1999


But I always get two compiling errors,

"Conflicting type modifiers"
"Array Size too large"

How do I create an array of greater than 64k under Turbo C 2.0?

Thanks a lot!

BTW, I also found this in http://community.borland.com/article/0,1410,18117,00.html

>Q. How do I create an array of greater than 64k?
>A. See TI1563.ZIP in library 2

It's only a index. I can't find the file TI1563.ZIP. Could anyone can email a copy to me.
JerryleoAsked:
Who is Participating?
 
laaxConnect With a Mentor Commented:
Hi,

Why don't you use 'char *' instead of 'char huge'?

Declaration:
char *array3;

Allocate Memory:
  array3 = (char*) malloc ( sizeof(char) * 100000 );
  if ( array3 == null ) {
    // There is no more free memory to allocate
    // Handle this case here...
  }
and usage is same as before...

    array3[index] = something;
    and
    something = array3[index];

and finally write
    if ( array3 != null )
        free(array3);
Laax.
0
 
laaxCommented:
You can get the .zip file in the follwing URL
http://www.tietovayla.fi/BORLAND/CPLUS/c_tech.htm
0
 
JerryleoAuthor Commented:
Allocating data >64k using the keyword huge

ftp://ftp.borland.com/pub/techinfo/techdocs/language/cpp/bcpp/ti/ti1563.zip

I am sorry. It's a broken URL.

RETR /pub/techinfo/techdocs/language/cpp/bcpp/ti/ti1563.zip
Wed Jul 03 16:32:31 2002 550 No such file.
Wed Jul 03 16:32:31 2002 RETR pub/techinfo/techdocs/language/cpp/bcpp/ti/ti1563.zip
Wed Jul 03 16:32:31 2002 550 No such file.
0
Improve Your Query Performance Tuning

In this FREE six-day email course, you'll learn from Janis Griffin, Database Performance Evangelist. She'll teach 12 steps that you can use to optimize your queries as much as possible and see measurable results in your work. Get started today!

 
JerryleoAuthor Commented:
Is there anyone can give me a example about allocating data >64k using the keyword huge under Turbo C 2.0?

Thanks a lot!
0
 
laaxCommented:
I don't have the environemnt i.e Dos and Turbo C 2.0
...Please try "huge char" ...instead of "char huge"...
Type modifiers comes first, data type next...for ex.
'unsigned' long
'long' int
etc.
0
 
JerryleoAuthor Commented:
Thanks for reply.

I have put the type modifiers comes first, like huge char, but I get a "Declaretion syntax error".
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.