Compiler Reserved Constants

#PB_Compiler_OS
Determines on which OS the compiler is currently running. Can be one of the following:
#PB_OS_Windows
The compiler is running on Windows
#PB_OS_Linux
The compiler is running on Linux
#PB_OS_MacOS
The compiler is running on macOS
#PB_Compiler_Processor
Determines the processor type for which the program is created. Can be one of the following:
#PB_Processor_x86
Intel x86 (IA -32 or x86 -32)
#PB_Processor_x64
Intel x64 (x64, AMD64 or Intel64)
#PB_Processor_arm32
Arm 32-bit
#PB_Processor_arm64
Arm 64-bit, Apple Silicon
#PB_Compiler_Backend
Determines which kind of compiler is currently used. Can be one of the following:
#PB_Backend_Asm
The compiler generating Assembler is being used
#PB_Backend_C
The compiler generating C is being used
#PB_Compiler_ExecutableFormat
Determines executable format. Can be one of the following:
#PB_Compiler_Executable
A regular executable
#PB_Compiler_Console
A console executable. Only matters on Windows
#PB_Compiler_DLL
A shared DLL in Windows. A dynlib in macOS, a shared object in Linux
#PB_Compiler_Date
The current date at compile time, in PureBasic date format
#PB_Compiler_File
The full path and name of the file being compiled
#PB_Compiler_FilePath
The full path of the file being compiled
#PB_Compiler_Filename
The filename (without path) being compiled
#PB_Compiler_Line
The current line number being compiled
#PB_Compiler_Procedure
The current Procedure being compiled, if applicable
#PB_Compiler_Module
The current module being compiled, if applicable
#PB_Compiler_Version
The compiler version, in integer format
#PB_Compiler_Home
The full path of the PureBasic directory
#PB_Compiler_Debugger
Set to 1 if debugger enabled, 0 otherwise
#PB_Compiler_Thread
Set to 1 if the executable was compiled in thread safe mode, 0 otherwise
#PB_Compiler_Unicode
Set to 1 if the executable was compiled in Unicode, 0 otherwise
#PB_Compiler_LineNumbering
Set to 1 if the executable was compiled with OnError line numbering support, 0 otherwise
#PB_Compiler_InlineAssembly
Set to 1 if the executable was compiled with inline assembly, 0 otherwise
#PB_Compiler_EnableExplicit
Set to 1 if the executable was compiled with EnableExplicit, 0 otherwise
#PB_Compiler_IsMainFile
Set to 1 if the file being compiled is the main file, 0 otherwise
#PB_Compiler_IsIncludeFile
Set to 1 if the file being compiled has been included by another file, 0 otherwise
#PB_Compiler_32Bit
Set to 1 if the compiler generates 32-bit code, 0 otherwise
#PB_Compiler_64Bit
Set to 1 if the compiler generates 64-bit code, 0 otherwise
#PB_Compiler_Optimizer
Set to 1 if the compiler generates optimizer code, 0 otherwise
All constants start with #.

These constants are useful for the Compiler Directives (CompilerIf, CompilerSelect).
Comments