Difference between revisions of "global compiler directives"

From Lazarus wiki
Jump to navigationJump to search
m (→‎Gobal Compiler Directives: informationen = information)
m (→‎Gobal Compiler Directives: igonored = ignored)
Line 9: Line 9:
 
*[[sGlobalCodepage|$code page]] determines which code page is used by the program.
 
*[[sGlobalCodepage|$code page]] determines which code page is used by the program.
 
*[[sGlobalDebuginfo|$D oder $DEBUGINFO]] insert GNU debugging information into generated code.
 
*[[sGlobalDebuginfo|$D oder $DEBUGINFO]] insert GNU debugging information into generated code.
*[[sGlobalDescription|$DESCRIPTION]] currently igonored by compiler.
+
*[[sGlobalDescription|$DESCRIPTION]] currently ignored by compiler.
 
*[[sGlobalE|$E]] emulate coprocessor.
 
*[[sGlobalE|$E]] emulate coprocessor.
*[[sGlobalG|$G]] currently igonored by compiler (reserved for generation of 80286 code).
+
*[[sGlobalG|$G]] currently ignored by compiler (reserved for generation of 80286 code).
 
*[[sGlobalIncludepath|$INCLUDEPATH]] determines path for include files.
 
*[[sGlobalIncludepath|$INCLUDEPATH]] determines path for include files.
 
*[[sGlobalInterfaces|$INTERFACES]] determines software interface for compiler
 
*[[sGlobalInterfaces|$INTERFACES]] determines software interface for compiler
*[[sGlobalLocalsymbols|$LOCALSYMBOLS]] currently igonored by compiler.
+
*[[sGlobalLocalsymbols|$LOCALSYMBOLS]] currently ignored by compiler.
 
*[[sGlobalLibrarypath|$LIBRARYPATH]] determines path to library files.
 
*[[sGlobalLibrarypath|$LIBRARYPATH]] determines path to library files.
 
*[[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 functinos.
*[[sGlobalN|$N]] currently igonored by compiler.
+
*[[sGlobalN|$N]] currently ignored by compiler.
*[[sGlobalO|$O]] currently igonored by compiler.
+
*[[sGlobalO|$O]] currently ignored by compiler.
 
*[[sGlobalObjectpath|$OBJECTPATH]] defines path to object files
 
*[[sGlobalObjectpath|$OBJECTPATH]] defines path to object files
 
*[[sGlobalOpenstrings|$P or $OPENSTRINGS]] determines parameters of procedures and functions to be ShortStrings
 
*[[sGlobalOpenstrings|$P or $OPENSTRINGS]] determines parameters of procedures and functions to be ShortStrings
Line 28: Line 28:
 
*[[sGlobalS|$S]] creates code to check for stack overflow.
 
*[[sGlobalS|$S]] creates code to check for stack overflow.
 
*[[sGlobalSmartlink|$SMARTLINK]] determines smart linking
 
*[[sGlobalSmartlink|$SMARTLINK]] determines smart linking
*[[sGlobalThreading|$THREADING]] currently igonored by compiler.
+
*[[sGlobalThreading|$THREADING]] currently ignored by compiler.
 
*[[sGlobalUnitpath|$UNITPATH]] determines search path for units
 
*[[sGlobalUnitpath|$UNITPATH]] determines search path for units
 
*[[sGlobalVersion|$VERSION]] defines version number of DLL
 
*[[sGlobalVersion|$VERSION]] defines version number of DLL
*[[sGlobalWeakpackageunit|$WEAKPACKAGEUNIT]] currently igonored 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 functinos like procedures
 
*[[sGlobalReferenceinfo|$Y or $REFERENCEINFO]] creates Delphi-compatible browser info.
 
*[[sGlobalReferenceinfo|$Y or $REFERENCEINFO]] creates Delphi-compatible browser info.

Revision as of 11:48, 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 functinos.
  • $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 functinos 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