Pragmas 'warning disable', 'warning restore'
Das Pragma {warning disable <compiler ID>} bewirkt, dass bestimmte Warnungen unterdrückt werden.
Das Pragma {warning restore <compiler ID>} bewirkt, dass eine unterdrückte Meldung wieder aktiviert wird.
Syntax:
{warning disable <compiler ID>}
{warning restore <compiler ID>}
<compiler ID>: ID, die am Anfang einer Warnungsmeldung bzw. in der Übersicht der Compiler-Warnungen in den SPS-Projekteigenschaften steht.
Beispiel für Compiler-Warnung C0195:
Compiler-Warnung:
C0195: Implicit conversion from signed type 'SINT' to unsigned type 'UINT': possible change of sign
Das Pragma auf eine Variablendeklaration anwenden:
VAR
{warning disable C0195}
test1 : UINT := -1;
{warning restore C0195}
test2 : UINT := -1;
END_VAR
test1 erzeugt keine Warnung, test2 erzeugt eine Warnung.
Beispiel für Compiler-Warnung C0394:
Compiler-Warnung:
C0394: Compatibility warning: FB_Exit is now called in F_Sample for FB instance fbSample which is located on the stack. This has not been the case for code compiled with compiler versions < 3.1.4022.0.
Das Pragma auf eine POU-Deklaration anwenden:
{warning disable C0394}
FUNCTION F_Sample : BOOL
VAR_INPUT
bInput : BOOL;
END_VAR
VAR
fbSample : FB_Sample; // The function block FB_Sample contains the method FB_exit
END_VAR
Ohne die Verwendung des Pragmas wird die o. g. Warnung für die Funktionsblockinstanz fbSample ausgegeben. Wird das im Beispiel genannte Pragma verwendet, wird hingegen keine Warnung erzeugt.
![]() | Pragmas im Implementierungseditor Wenn Sie die Pragmas zur Unterdrückung von Warnungen im Implementierungseditor verwenden möchten, ist dies aktuell im ST- sowie im FUP/KOP/AWL-Editor möglich. In FUP/KOP/AWL muss das gewünschte Pragma in eine Sprungmarke eingetragen werden. |
Siehe auch:
- Dokumentation TC3 User Interface: Befehl Eigenschaften (SPS-Projekt) > Kategorie Compiler Warnings