Forum: Mikrocontroller und Digitale Elektronik Pragam direktive bei Metrowerks Codewarrior


von Sebastian Sobierajski (Gast)


Lesenswert?

Hallo Zusammen,
ich möche gern meinen c code auf meine Motorola soweit erweitern das
ich Debugmessages verschicken kann. Das Verschicken der Debugmessage
funktioniert wunderbar. Ich hab gehört man kann mit der Direktive
#Pragma arbeiten die den Compiler dazu den Modulnamen und die Zeile aus
diesem wo der Fehler aufgetretten ist.

Also sowas z.B.
send_Debugmessage(_FILE__, __LINE__, FEHLERBESCHREIBUNG)

von Rufus T. Firefly (Gast)


Lesenswert?

Ist Dein Posting jetzt eigentlich eine Frage oder eine erfreute "Ja,
ich hab's geschafft"-Meldung?

Wasauchimmer:

Was auf #pragma folgt, ist compilerspezifisch und in der Dokumentation
des jeweiligen Compilers beschrieben.

Bei den 32-Bit-C-Compilern von Microsoft gibt's beispielsweise

  #pragma message("Blabla")

das den Compiler veranlasst, "Blabla" auszugeben.

Ich habe allerdings den Verdacht, daß Du mit "debugmessage" eine
Meldung meinst, die von Deinem Programm während der Laufzeit ausgegeben
werden soll - da hilft kein #pragma.
Auch wäre zu klären, wohin die Meldungen während der Laufzeit
ausgegeben werden sollen.

Alles das aber bleibt im Nebel des
"ich-kann-keine-Frage-stellen-und-poste-hier-trotzdem" verborgen.

von Sebastian Sobierajski (Gast)


Lesenswert?

Hi Sorry ,

ich versuche ein neuen Erklärungsversuch...
Ich hab eine Funktion geschrieben die Debugmessages über Ethernet
abschickt.... funktioniert wunderbar aber ohne den Compiler dran zu
beteiligen.

Ich möchte aber in meiner C Funktion Pragma Funktionalität wie z.B.
_FILE_ (Dateiname) und _LINE_ (ZEILE) haben.

Also wenn diese Funktion zur Laufzeit auf dem Controller ausgeführt
wird
soll sie die Parameter _FILE__ und __LINE_ als Parameter
mitbekommen....

Wie kann ich das machen.... ?

von Rufus T. Firefly (Gast)


Lesenswert?

_FILE_ etc. haben nichts mit pragmas zu tun, das sind
Stringkonstanten, die dem Präprozessor bekannt sind.

Also musst Du diese Konstanten Deiner Funktion übergeben, à la

  printf("Datei %s Zeile %s\n", _FILE_, _LINE_);

von Sebastian Sobierajski (Gast)


Lesenswert?

OK... Hab verstanden.

Wünsch ich dir noch ein gutes Wochenende.
Nochmals Danke

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.