LINK "Stack Plus Data Exceed 64K"; 7.00 BC /Fs Forces /S (64424)
The information in this article applies to:
- Microsoft Basic Professional Development System (PDS) for MS-DOS and MS OS/2 7.0
- Microsoft Basic Professional Development System (PDS) for MS-DOS and MS OS/2 7.1
This article was previously published under Q64424 SUMMARY
In Microsoft Basic Professional Development System (PDS) version 7.00
for MS-DOS and MS OS/2, the BC /Fs (Far Strings) option forces the
compiler to also perform a /S. If you use many quoted strings in your
program, this BC /S option places extra overhead in the .OBJ file
that could (in some cases) overload the linker and give a "Stack plus
data exceed 64K" error (L2041) at LINK time. Compiling without /Fs
(using near strings) will not force /S, and the program may then LINK
without the L2041 error.
Basic PDS version 7.10 is enhanced so that the BC /Fs option no longer
forces an automatic /S option. This enhancement can help avoid the
"Stack plus data exceed 64K" error as in the above case when you need
to compile with the /Fs option.
MORE INFORMATIONBC /S Option
The BC /S option helps you only at compile time. You only need to use
the BC /S option when you get an "Out of memory" error message at
compile time due to too many quoted string constants in the source
program. Compiling with BC /S increases DGROUP usage at link time, in
some cases contributing to the cause of the linker error "Stack plus
data exceed 64K." Compiling with BC /S normally does not affect the
size or speed of the final linked .EXE program.
BC /Fs Option
The BC /Fs (Far Strings) option gives you more space for
variable-length string variables at the cost of increasing the size
and slowing the speed of .EXE programs.
Modification Type: | Major | Last Reviewed: | 10/20/2003 |
---|
Keywords: | KB64424 |
---|
|