#pragma, #pragmaSave/Restore/Default
Implemented as of Version | 2015.r1 |
---|
Preprocessor directive to control compiler-internal processes. The pragma directive is processed textually like all other directives in the source code.
Syntax
- #pragma <Command> <Value>
- #pragmaSave - Save all current pragma values.
- #pragmaRestore - Restore saved pragma values.
- #pragmaDefault - Set all pragma values to default.
#pragmaSave/Restore can be stacked. The depth is not restricted. #pragmaDefault Does not touch the saved pragma values.
Commands
Name | Description | Default Value |
---|---|---|
DebugBuild | If activated, then the source is compiled as Debugbuild, current Code-Line and -File can be read in the source, eg to display additional informations in a Exception. | false |
OptimizeCodeEnabled | Activates or deactivates the Code-Optimizing. | true |
MethodSetupFast | The methods-initialization is speed optimized and written out directly to the method-code instead of calling a sub-function. Generates more machine code. | false |
MethodLocalVarInit | Activates or deactivates the initialization of local, temporary variables to 0 or nil. Affects only if MethodSetupFast is active. | true |
MemoryBlockGarbageCollection | Activates or deactivates the automatic garbage collection of the dynamic managed work memory space, used for strings and memoryblocks. If deactivated it is highly important to call the GarbageCollection() function manually to avoid memory overflow! | true |
MemoryBlockProcessAtomic | Activates or deactivates the atomic processing of the memory management routines. The atomic processing disables the global interrupts during process of a management routine. This can be disabled if no reentrant memory management is necessary or to avoid jitter of interrupts. | true |