Difference between revisions of "global compiler directives"

From Lazarus wiki
Jump to navigationJump to search
m (→‎Gobal Compiler Directives: igonored = ignored)
m (→‎Gobal Compiler Directives: functinos = functions)
Line 18: Line 18:
 
*[[sGlobalMemory|$MEMORY]] determines size of memory to use.
 
*[[sGlobalMemory|$MEMORY]] determines size of memory to use.
 
*[[sGlobalMode|$MODE]] determines compatibility mode of compiler.
 
*[[sGlobalMode|$MODE]] determines compatibility mode of compiler.
*[[sGlobalModeswitch|$MODESWITCH]] enables selection of certain functinos.
+
*[[sGlobalModeswitch|$MODESWITCH]] enables selection of certain functions.
 
*[[sGlobalN|$N]] currently ignored by compiler.
 
*[[sGlobalN|$N]] currently ignored by compiler.
 
*[[sGlobalO|$O]] currently ignored by compiler.
 
*[[sGlobalO|$O]] currently ignored by compiler.
Line 32: Line 32:
 
*[[sGlobalVersion|$VERSION]] defines version number of DLL
 
*[[sGlobalVersion|$VERSION]] defines version number of DLL
 
*[[sGlobalWeakpackageunit|$WEAKPACKAGEUNIT]] currently ignored by compiler
 
*[[sGlobalWeakpackageunit|$WEAKPACKAGEUNIT]] currently ignored by compiler
*[[sGlobalExtendedsyntax|$X or $EXTENDEDSYNTAX]] enables calling of functinos like procedures
+
*[[sGlobalExtendedsyntax|$X or $EXTENDEDSYNTAX]] enables calling of functions like procedures
 
*[[sGlobalReferenceinfo|$Y or $REFERENCEINFO]] creates Delphi-compatible browser info.
 
*[[sGlobalReferenceinfo|$Y or $REFERENCEINFO]] creates Delphi-compatible browser info.
  

Revision as of 11:49, 22 June 2016

Deutsch (de) English (en) français (fr) русский (ru)

Free Pascal supports compiler directives in the source file. Basically the same directives as in Turbo Pascal, Delphi and Apple Pascal (Mac OS) pascal compilers are supported. Some are recognized for compatibility only, and have no effect.

Gobal Compiler Directives

  • $APPTYPE determines the program type.
  • $CALLING determines the calling convention of internal and external procedures and functions.
  • $code page determines which code page is used by the program.
  • $D oder $DEBUGINFO insert GNU debugging information into generated code.
  • $DESCRIPTION currently ignored by compiler.
  • $E emulate coprocessor.
  • $G currently ignored by compiler (reserved for generation of 80286 code).
  • $INCLUDEPATH determines path for include files.
  • $INTERFACES determines software interface for compiler
  • $LOCALSYMBOLS currently ignored by compiler.
  • $LIBRARYPATH determines path to library files.
  • $MEMORY determines size of memory to use.
  • $MODE determines compatibility mode of compiler.
  • $MODESWITCH enables selection of certain functions.
  • $N currently ignored by compiler.
  • $O currently ignored by compiler.
  • $OBJECTPATH defines path to object files
  • $P or $OPENSTRINGS determines parameters of procedures and functions to be ShortStrings
  • $PASCALMAINNAME determines name of entry point.
  • $PIC enables PIC code generation.
  • $PROFILE enables generation of profile code
  • $S creates code to check for stack overflow.
  • $SMARTLINK determines smart linking
  • $THREADING currently ignored by compiler.
  • $UNITPATH determines search path for units
  • $VERSION defines version number of DLL
  • $WEAKPACKAGEUNIT currently ignored by compiler
  • $X or $EXTENDEDSYNTAX enables calling of functions like procedures
  • $Y or $REFERENCEINFO creates Delphi-compatible browser info.

Global directives for Novell NetWare only

Global directives for Palm OS and Garnet OS only

Directives, definitions and conditionals definitions
global compiler directives • local compiler directives

Conditional Compiler Options • Conditional compilation • Macros and Conditionals • Platform defines
$IF