Board index » delphi » What does this header mean?

What does this header mean?

{$M 65520,0,655360}
Program SystemFile(input,output);


Any takers?


Re:What does this header mean?

Laura Freedman wrote:
> {$a+,b-,d+,e+,f-,i+,l-,n-,o-,r-,s+,v+}
> {$M 65520,0,655360}

Looks like TP6 or TP7 real mode directives, nothing terribly out of the
ordinary.  These can all easily be found in the manuals or online help,
but I'll summarize:

a+ = word alignment of data enabled
b- = short-circuit Boolean evaluations
d+ = include debug information in EXE
e+ = emulate 8087 coprocessor
f- = calls default to near
i+ = I/O checking enabled
l- = local variable information not included
n- = do not use coprocessor
o- = do not overlay
r- = disable range checking
s+ = enable stack checking
v+ = strict type checking on var strings
$m = 65520(!) bytes of stack space, heapmin is 0, heapmax is 655360 (get
all free mem possible)

In the mean time, it would do well to open the Programmer's Reference
and read what these mean precisely.

> Program SystemFile(input,output);

A standard program name definition (in TP declaration of input and
output this way are redundant, and this could just as easily be "Program

> Uses
> Extend,Crt,MiscUtil,Windows,KeyInput,PPMouse,kdb,ppdb,timegate,ppgloable,PP_unit;

The list of units directly used by the main program.

> Any takers?
> Thanks

Does that clear things up any?

Scott Earnest        | We now return you to our regularly | | scheduled chaos and mayhem. . . .  |

Re:What does this header mean?

On Sat, 15 Feb 1997 13:22:46 -0500,  Laura Freedman <> wrote:

>{$M 65520,0,655360}
>Program SystemFile(input,output);


I'm going to assume that you are a student, the instructor doesn't have enough
manuals to go around, and you are doing a little extra curricular work --

{$a+} { Word aligned variables enabled         }
{$b-} { Complete boolean evaluation disabled   }
{$d+} { Debug information enabled              }
{$e+} { Software coprocessor emulation enabled }
{$f-} { Force far calls disabled               }
{$i+} { I/O Error checking enabled             }
{$l-} { Local symbol information enabled       }
{$n-} { Numeric coprocessor support disabled   }
{$o-} { Overlay code generation disabled       }
{$r-} { Range checking disabled                }
{$s+} { Stack checking enabled                 }
{$v+} { Strict VAR string parameters enabled   }
{$M 65520,0,655360}{Memory: Stack  65520 bytes }
                   {     Min heap      0 bytes }
                   {     Max heap 655360 bytes }

Program SystemFile(input,output);
{ Ignored by Turbo Pascal.  I believe his would }
{ associate input and output with appropriate   }
{ files in the JCL. (Job control language)      }



ABove is a list of units used by the program.  CRT appears to be the only unit
furnished by borland.  I believe EXTEND is a unit designed to allow the program
to have more than the default number of files opened.  I am not familiar with
the others, but the names of some hint at their purpose.

Other Threads