Forum: Mikrocontroller und Digitale Elektronik Frage zu C und möglichen Schreibweisen


von Chris T. (chris0086)


Lesenswert?

Hallo Leute,
kann ich diesen Quelltext
1
CRC_VAL = eeprom_read_word(&e_p_therme);
2
     if(std_value == CRC_VAL)
auch so schreiben ?:
1
     if(std_value == eeprom_read_word(&e_p_therme);)
Natürlich ohne damit Programmtechnisch etwas zu ändern

von Michael S. (decimad)


Lesenswert?

Bis auf das Semikolon, ja na klar!

von Daniel V. (danvet)


Lesenswert?

Jein. Sinngemäss ja, syntaktisch nein. Frag mal deinen Compiler :-)

von jd (Gast)


Lesenswert?

Hallo
Ja das geht vorausgesetzt du verwendest niergends sonst den Wert den in 
CRC_VAL steht. Und ich glaube das Strichpunkt solltest du im zweiten 
Fall weglassen.

von Peter II (Gast)


Lesenswert?

es macht aber etwas anders, CRC_VAL bekommt ja keinen wert zugewiessen.

Und wenn noch CRC_VAL einen anderen Datentype hat (z.b. uint8_t) dann 
kommt auch etwas anders raus.

von Chris T. (chris0086)


Lesenswert?

Ja das Semikolon gehört natürlich nicht dahin.
Aber zwei Meinungen? Es geht natürlich um einen Atmega und GCC Comiler
uint16_t CRC_VAL;
uint16_t std_value = 0xFFFF ;

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Chris tian schrieb:
> Aber zwei Meinungen?

Wird CRC_VAL sonst noch irgendwo genutzt?


Im übrigen ist es ganz schlechter Stil, Variablennamen in 
Großbuchstaben zu schreiben. Lass das.

Das macht man mit Macro-Namen (#defines), und sonst gar nicht.

von Chris T. (chris0086)


Lesenswert?

CRC_VAL wird auch sonst noch genutzt. ich wollte nur kompakteren Code 
schreiben aber ich weis eben nicht ob dieser EEPROM Lesezugriff auch in 
einer Abfrage ausgeführt wird.
Als ich das getestet habe dächte ich das es so nicht funktioniert hat, 
deswegen mit dem Umweg über eine externe Variable.
Das mit der Schreibweise werd ich mir merken.

von Falk B. (falk)


Lesenswert?

@ Chris tian (chris0086)

>CRC_VAL wird auch sonst noch genutzt. ich wollte nur kompakteren Code
>schreiben aber ich weis eben nicht ob dieser EEPROM Lesezugriff auch in
>einer Abfrage ausgeführt wird.

http://www.mikrocontroller.net/articles/AVR-GCC-Codeoptimierung#Prinzipien_der_Optimierung

>Das mit der Schreibweise werd ich mir merken.

Strukturierte Programmierung auf Mikrocontrollern

von W.S. (Gast)


Lesenswert?

Chris tian schrieb:
> ich wollte nur kompakteren Code schreiben aber...

Laß das lieber sein. Schreib deine Quelle so, wie es sachlich richtig 
ist und überlaß dem Compiler die Optimierungen. Die Versuche, von Hand 
irgendetwas optimieren zu wollen, münden immer in fehlerträchtigem und 
unleserlichem Code und sind heutzutage nie besser als das, was der 
Compiler aus einem biederen Stück Quelle macht.

W.S.

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.