vijayakumar m <[EMAIL PROTECTED]> writes: > I am using Turbo C compiler.( 16 bit ) > I�tried to create global character array with the size�of �65500 > ( i.e more than 64k.�)
> During the program compilation, > It shows the linker error > segment�_BSS exceeds 64k The turbo C (16-bit) compiler creates M$DOS programs. DOS is a real mode OS. In real mode, each segment have a maximum 64K., i.e. a 16-bit address space. This is due to the way the Intel CPUs are designed. You can over come this by having multiple 64K segments. However, I've no clue whether Turbo C would allow you to do that. You'd need the help of some assembler code to switch the values in the segment registers. 16-bit is history.. move on to 32-bit programming. I personally consider that 16-bit programming should be avoided in the curriculum. They really consume a lot of effort of the learner.. and after all that the person realizes that the world is way ahead in time. It is more than enough to simply let them know what they are.., instead of using them for programming. -- A proud GNU user http://www.joesteeve.tk/ | http://gnukid.shyper.com/
pgpn10DpPToHM.pgp
Description: PGP signature
