Scripting: Preprocessor Directives – Arma Reforger
Jump to navigation
Jump to search
Lou Montana (talk | contribs) (Page creation) |
Lou Montana (talk | contribs) m (Some wiki formatting) |
||
Line 29: | Line 29: | ||
| | | | ||
=== #ifndef === | === #ifndef === | ||
| Open a preprocessor scope that is considered if the provided flag is '''not''' defined. The scope must be ended by #endif (see below). | | Open a preprocessor scope that is considered if the provided flag is '''not''' defined. The scope must be ended by {{hl|#endif}} (see below). | ||
| <enforce> | | <enforce> | ||
#define MY_FLAG | #define MY_FLAG | ||
Line 41: | Line 41: | ||
| | | | ||
=== #else === | === #else === | ||
| Add a preprocessor scope that is of the opposite condition of the current {{hl|#ifdef}}/{{hl|#ifndef}}. The scope must be ended by #endif (see below). | | Add a preprocessor scope that is of the opposite condition of the current {{hl|#ifdef}}/{{hl|#ifndef}}. The scope must be ended by {{hl|#endif}} (see below). | ||
| <enforce> | | <enforce> | ||
#ifdef MY_FLAG | #ifdef MY_FLAG |
Revision as of 11:47, 7 April 2024
Preprocessor directives allow to determine preprocessor behaviour, e.g ignoring blocks of code depending on certain conditions.
For use cases, see e.g Scripting Temporary Feature.
Directive | Description | Example |
---|---|---|
#define |
Define a flag. A flag is either defined or not. | #define MY_FLAG |
#ifdef |
Open a preprocessor scope that is considered if the provided flag is defined. The scope must be ended by #endif (see below). | #define MY_FLAG
#ifdef MY_FLAG
Print("Flag is defined");
#endif |
#ifndef |
Open a preprocessor scope that is considered if the provided flag is not defined. The scope must be ended by #endif (see below). | #define MY_FLAG
#ifndef MY_FLAG
Print("Flag is not defined");
#endif |
#else |
Add a preprocessor scope that is of the opposite condition of the current #ifdef/#ifndef. The scope must be ended by #endif (see below). | #ifdef MY_FLAG
Print("Flag is defined");
#else
Print("Flag is not defined");
#endif |
#endif |
Close a preprocessor scope - see #ifdef and #ifndef above. | See #ifdef and #ifndef above. |
#include |
Include another file. The effect is as if the other file's content was copy-pasted at this exact #include location. | class SCR_ScriptedClass
{
#include "scripts/Game/FileToInclude.c"
void ShowMessage()
{
Print(MY_PRINT);
}
} |