Free Pascal supports compiler directives in your source file. They are not the same as Turbo Pascal directives, although some are supported for compatibility. There is a distinction between local and global directives; local directives take effect from the moment they are encountered, global directives have an effect on all of the compiled code.
Many switches have a long form also. If they do, then the name of the long form is given also. For long switches, the + or - character to switch the option on or off, may be replaced by ON or OFF keywords.
Thus {$I+}
is equivalent to {$IOCHECKS ON}
or
{$IOCHECKS +}
and
{$C-}
is equivalent to {$ASSERTIONS OFF}
or
{$ASSERTIONS -}
The long forms of the switches are the same as their Delphi counterparts.