User manual
174Compiler
© 2013 Conrad Electronic
char txt[60];
txt=__LINE__;
Msg_WriteText(txt); // Zeilennummer ausgeben
Msg_WriteChar(13); // LF
txt=__FILE__;
Msg_WriteText(txt); // Dateinamen ausgeben
Msg_WriteChar(13); // LF
txt=__FUNCTION__;
Msg_WriteText(txt); // Funktionsnamen ausgeben
Msg_WriteChar(13); // LF
4.1.2 Pragma Anweisungen
Mit der Anweisung #pragma kann die Ausgabe und der Ablauf des Compilers gesteuert werden. Fol-
gende Kommandos sind zulässig:
#pragma Error "xyz..."
Ein Fehler wird erzeugt und der Text "xyz..." ausgegeben
#pragma Warning "xyz..."
Eine Warnung wird erzeugt und der Text "xyz..." ausgegeben
#pragma Message "xyz..."
Der Text "xyz..." wird vom Compiler ausgegeben
Beispiel
Diese #pragma Anweisungen werden oft im Zusammenspiel mit Preprozessor Befehlen und vordefi-
nierten Konstanten eingesetzt. Ein klassisches Beispiel ist die Produktion einer Fehlermeldung,
wenn bestimme Hardwarekriterien nicht erfüllt werden:
#ifdef MEGA128
#pragma Error "Counter Funktionen nicht bei Timer0 und Mega128"
#endif
4.1.3 Map Datei
Ist bei der Kompilierung eine Map Datei generiert worden, kann man dort die Speichergröße der be-
nutzten Variablen in Erfahrung bringen.
Beispiel
Das Projekt CNT0.cprj generiert bei der Kompilierung folgende Map Datei:
Globale Variablen Laenge Position (RAM Anfang)
---------------------------------------------------------------
Gesamtlaenge: 0 bytes
Lokale Variablen Laenge Position (Stackrelativ)
-----------------------------------------------------------------
Funktion Pulse()